根据另一个表更新表的行

时间:2018-02-22 11:14:31

标签: sql sql-server update-statement

我有2个表SQL Server(Tab1,Tab2)

Tab1有

col1
col2 
col3 

Tab2有

col11
col22 
col33

我想复制数据表格

col1进入col11, 和col2到col22。

如果col3等于col33。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

只需加入表格基于col3 = col33并更新其他列。

UPDATE T2
    SET
       col11 = T1.col1,
       col22 = T1.col2
    FROM Tab1 T1
       INNER JOIN Tab2 T2
          ON T2.col33 = T1.col3

答案 1 :(得分:-1)

您必须从Tab2中选择列值并在Tab1中插入,如下所示:

INSERT INTO Tab2 (col11,col22,col33) 
SELECT T1.col1,T1.col2,T1.col3 
FROM Tab1 T1
WHERE T1.col3 EXISTS IN(SELECT col33 FROM Tab2 WHERE col33=T1.col3)