繁体   English   中英

如何使用更新查询增加列值

[英]how to increment column value using update query

我在下面的查询中尝试使用表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

有谁能帮我哪里错?

 UPDATE DW.ELEM_DUP3 D
 FROM ( SELECT ID AS ID
 FROM DW.ELEM Where ID=D.ID) S
 SET D.ID = (S.ID + 1)

它应该为你工作

鉴于需求,这可以满足您的要求:

UPDATE DW.ELEM_DUP3
SET ID = ID + (SELECT MAX(ID)-MIN(ID)+1 FROM DW.ELEM_DUP3)

您可以重复运行它,它将不断增加字段

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM