根据另一个 table 行更新 Table 行

Update Table's rows based on another table'rows

我有 2 个表 SQL 服务器(Tab1,Tab2)

Tab1 有

col1
col2 
col3 

Tab2 有

col11
col22 
col33

我要复制数据表格

col1 到 col11, 和 col2 到 col22。

如果 col3 等于 col33。

我该怎么做?

您只需 select 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)

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

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