У меня есть таблица, которая выглядит примерно так.
ID | NAME | VALUE |
----------------------------
1 | Test | VALUE1 |
2 | Test2 | VALUE2 |
1 | Test2 | |
4 | Test | |
1 | Test3 | VALUE3 |
Я ищу способ обновить значения "Test2" и "Test" с данными из других строк столбца "VALUE" с тем же "NAME" (идентификатор здесь не уникален, составной ключ идентификатора и NAME делают строку уникальной). Например, вывод, который я ищу, это:
ID | NAME | VALUE |
----------------------------
1 | Test | VALUE1 |
2 | Test2 | VALUE2 |
1 | Test2 | VALUE2 |
4 | Test | VALUE1 |
1 | Test3 | VALUE3 |
Если бы это было в другой таблице, все было бы хорошо, но я не понимаю, как я могу ссылаться на другую строку в текущей таблице с тем же значением NAME.
Update
После изменения запроса manji ниже приведен запрос, который я использовал для рабочего решения. Спасибо всем!
UPDATE data_table dt1, data_table dt2
SET dt1.VALUE = dt2.VALUE
WHERE dt1.NAME = dt2.NAME AND dt1.VALUE = '' AND dt2.VALUE != ''