繁体   English   中英

SQL使用来自同一表中其他行的数据更新行

[英]SQL Updating rows with data from other rows in the same table

我有一个很大的记录表,其中主键是商品代码,它是一个整数。

许多记录已过时,我想用其他行中的信息替换那些行中的信息,同时保留旧的主键。

因此,如果我有两行:

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中完成了所有这些工作

希望能对您有所帮助。 谢谢

更改您的代码,如下所示:

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

它适用于您的示例,也可以用其他语法和方式重写它.....

如果您的目标不同,请进一步说明。

祝好运

暂无
暂无

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

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