Переместить повторяющиеся значения в другой столбец - PullRequest
0 голосов
/ 10 февраля 2012

У меня есть таблица с парами записей на основе столбца id_location.

"id_image",  "score",  "stddev", "id_image2", "score2", "stddev2", "id_location"
3484,        0.90422,  0.06476,  NULL,        NULL,     NULL,      13
18,          0.71598,  0.06101,  NULL,        NULL,     NULL,      13

Если бы я хотел объединить дубликаты для id_location и переместить их в другой столбец, чтобы каждая строка была уникальной, как бы ясделай это?

Я посмотрел на транспонирование и поворот, но они кажутся немного различными.

Это будет следующая таблица:

"id_image",  "score",  "stddev", "id_image2", "score2", "stddev2", "id_location"
3484,        0.90422,  0.06476,  18,          0.71598,   0.06101,  13

Ответы [ 2 ]

2 голосов
/ 10 февраля 2012

Это будет сделано, с более высоким id_image, появляющимся в первом слоте:

INSERT INTO new_table
SELECT t1.id_image, t1.score, t1.stddev, t2.id_image,
  t2.score, t2.stddev, t1.id_location
FROM old_table t1
JOIN old_table t2
ON t2.id_location = t1.id_location
  AND t2.id_image < t1.id_image
0 голосов
/ 10 февраля 2012

Возможно использование подзапросов:

UPDATE your_table
 SET
  score2 = (SELECT score FROM your_table WHERE id_image = 3484),
  stddev2 = (SELECT stddev FROM your_table WHERE id_image = 3484),
 WHERE id_image = 18;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...