SQL:使用两个表中存在的唯一键将数据从一个表复制到另一个表

时间:2016-10-19 19:54:39

标签: sql sql-server

我有两个包含相同唯一键的表。我需要匹配这些密钥,然后将表2中的数据复制到表1中

原件:

Key COL1 COL2          Key COL3
 1   01  NULL           1   05
 2   02  NULL           2   12
 3   03  NULL           3   27

必需:

Key COL1 COL2          Key COL3
 1   01   05            1   05
 2   02   12            2   12
 3   03   27            3   27

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您的最佳答案可能是基于这两个表的UPDATE FROM查找(对于SQL Server,有人说使用JOIN,有些人说没有必要,没有{ {1}}更简洁。)

请参阅此处的一些示例:SQL update from one Table to another based on a ID match

为方便起见,这是一个适合您的场景的查询:

join

答案 1 :(得分:0)

尝试这个:

update table1 set col2 = ( select col3 from table2 where table2.key=table1.key ) where exists ( select * from table2 where table2.key=table1.key );