我有一个大型记录表,其中主键是一个项目代码,它是一个int。
很多记录已经过时了,我想用其他行中的信息替换这些行中的信息,同时保留旧的主键。
所以,如果我有两行:
ITEM_CODE LANGUAGE LABEL
12345678 ENG OLD LABEL
87654321 EN-GB NEW LABEL
我正在寻找一个SQL语句,它将留下我的下表
ITEM_CODE LANGUAGE LABEL
12345678 EN-GB NEW LABEL
87654321 EN-GB NEW LABEL
当我查看UPDATE语句时,我正在寻找类似
的内容UPDATE table
SET language1 and label1 WITH language2 and label 2
WHERE item code1 = item code 2
我在SQL Server Management Studio中执行此操作
希望你能提供帮助。 感谢
答案 0 :(得分:0)
更改您的代码,如下所示:
UPDATE table SET LANGUAGE = (Select LANGUAGE from table where ITEM_CODE = 87654321)
LABEL = (Select LABEL from table where ITEM_CODE = 87654321)
WHERE ITEM_CODE = 12345678
它适用于您的示例,您也可以用其他语法和方式重写它......
如果您的目标不同,请进一步解释。
祝你好运