我尝试在下面的查询中使用表ELEM_DUP3中的唯一值更新ID,但所有ID都使用相同的值进行更新。
UPDATE DW.ELEM_DUP3
FROM ( SELECT MAX(ID) AS ID
FROM DW.ELEM ) S
SET ID = (S.ID + 1)
Data in table: After Update:
ID Name ID Name
5 test8 8 test8
6 test9 8 test9
7 test10 8 test10
预期结果:
ID Name
8 test8
9 test9
10 test10
任何人都可以帮助我错在哪里吗?
答案 0 :(得分:2)
UPDATE DW.ELEM_DUP3 D
FROM ( SELECT ID AS ID
FROM DW.ELEM Where ID=D.ID) S
SET D.ID = (S.ID + 1)
它应该适合你
答案 1 :(得分:0)
根据要求,这可以满足您的需求:
UPDATE DW.ELEM_DUP3
SET ID = ID + (SELECT MAX(ID)-MIN(ID)+1 FROM DW.ELEM_DUP3)
你可以反复运行它,它会不断增加字段