使用同一表中另一行的数据更新行
我有一张桌子,看起来像这样
ID | NAME | VALUE |----------------------------
1 | Test | VALUE1 |
2 | Test2 | VALUE2 |
1 | Test2 | |
4 | Test | |
1 | Test3 | VALUE3 |
我正在寻找一种方法,以使用“ VALUE”列中其他行中具有相同“ NAME”的数据更新值“ Test2”和“
Test”(此处ID并非唯一,ID的复合键和NAME成为唯一的一行)。例如,我正在寻找的输出是:
ID | NAME | VALUE |----------------------------
1 | Test | VALUE1 |
2 | Test2 | VALUE2 |
1 | Test2 | VALUE2 |
4 | Test | VALUE1 |
1 | Test3 | VALUE3 |
如果在另一个表中,我会没事的,但是我对于如何使用相同的NAME值引用当前表中的另一行感到困惑。
更新资料
修改完manji查询后,下面是我用于有效解决方案的查询。谢谢大家!
UPDATE data_table dt1, data_table dt2 SET dt1.VALUE = dt2.VALUE
WHERE dt1.NAME = dt2.NAME AND dt1.VALUE = '' AND dt2.VALUE != ''
回答:
尝试这个:
UPDATE data_table t, (SELECT DISTINCT ID, NAME, VALUE FROM data_table
WHERE VALUE IS NOT NULL AND VALUE != '') t1
SET t.VALUE = t1.VALUE
WHERE t.ID = t1.ID
AND t.NAME = t1.NAME
以上是 使用同一表中另一行的数据更新行 的全部内容, 来源链接: utcz.com/qa/423540.html