Sql server 2008 r2 用于导出表的sql脚本';将列数据复制到另一个表';s柱
比方说,我有两个具有相同模式但数据不同的表。Sql server 2008 r2 用于导出表的sql脚本';将列数据复制到另一个表';s柱,sql-server-2008-r2,Sql Server 2008 R2,比方说,我有两个具有相同模式但数据不同的表。 表A和表B Table_A -------- ID(p_key) Number(p_key) Column3 Column4 ----------------------------------------------------- ID1 1 AAA BBB ID1 2 CC
表A
和表B
Table_A
--------
ID(p_key) Number(p_key) Column3 Column4
-----------------------------------------------------
ID1 1 AAA BBB
ID1 2 CCC DDD
ID2 1 EEE FFF
ID2 2 GGG HHH
-
我想将Table\u B column3
数据导出(覆盖)到Table\u A column3
,其中ID
和Number
列数据相等。执行脚本后,表_A的数据应该
Table_A
--------
ID(p_key) Number(p_key) Column3 Column4
-----------------------------------------------------
ID1 1 AAA_1 BBB
ID1 2 CCC_1 DDD
ID2 1 EEE_1 FFF
ID2 2 GGG_1 HHH
如何仅使用sql脚本进行此操作?我使用MS SQL Server 2008 R2
UPDATE TBLA
SET TBLA.Column3=TBLB.Column3 --, TBLA.Column4=TBLB.Column4 if you want
FROM
Table_A AS TBLA
LEFT OUTER JOIN Table_B AS TBLB ON (TBLB.ID1 = TBLA.ID1 AND TBLB.ID2 = TBLA.ID2)
请注意,“ID”列(即“主键”)必须是唯一的(如pkey:)。但是,在执行上述代码之前,请创建一个带有连接的
SELECT
语句,如果结果集正确,则将其添加到UPDATE
UPDATE TBLA
SET TBLA.Column3=TBLB.Column3 --, TBLA.Column4=TBLB.Column4 if you want
FROM
Table_A AS TBLA
LEFT OUTER JOIN Table_B AS TBLB ON (TBLB.ID1 = TBLA.ID1 AND TBLB.ID2 = TBLA.ID2)