使用同一表中另一行的数据更新行
发布于 2021-02-02 16:30:16
我有一张桌子,看起来像这样
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 != ''
关注者
0
被浏览
105
1 个回答
-
尝试这个:
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
推荐阅读
-
使用同一表上的选择更新行
2021-03-27 关注 0 浏览98 1答案
-
Oracle SQL:使用另一个表中的数据更新表
2021-05-10 关注 0 浏览87 1答案
-
MySQL触发器为NEW行设置值,并在同一表中更新另一个
2021-02-02 关注 0 浏览127 1答案
-
使用liquibase更新表中的一行
2021-04-20 关注 0 浏览80 1答案
-
如何在MySQL中使用自动递增字段复制一行并将其插入到同一表中?
2021-02-02 关注 0 浏览94 1答案
-
使用来自另一个表的数据更新mysql表
2021-02-02 关注 0 浏览105 1答案
-
根据另一个表中的数据更新SQLite表
2021-05-10 关注 0 浏览50 1答案
-
在SQL中从另一行减去一行数据
2021-02-02 关注 0 浏览110 1答案
-
如果另一个数据框中存在同一行,如何删除Pandas数据框中的行?
2021-01-29 关注 0 浏览95 1答案
-
获取同一表中的公共行
2021-06-04 关注 0 浏览81 1答案