Sql server 根据表A中现有的项目,将表B中缺少的项目插入表B中

Sql server 根据表A中现有的项目,将表B中缺少的项目插入表B中,sql-server,sql-server-2008-r2,Sql Server,Sql Server 2008 R2,我有两个表:TableA—默认项的列表。TableB是TableA的副本,但可能缺少项目。我需要一个insert语句,将缺少的项插入到表B中 TableA Key varchar(10) Rows: Key1 Key2 TableB Key varchar(10) Rows: Key1 如何从表A中选择所有缺少的项目并插入到表B中?换句话说,在表B中插入键2 使用Sql Server 2008R2。这应该通过TableB,并根据tableA中的内容覆盖key2中的任何空白或空项(如果

我有两个表:TableA—默认项的列表。TableB是TableA的副本,但可能缺少项目。我需要一个insert语句,将缺少的项插入到表B中

TableA

Key varchar(10)

Rows:
Key1
Key2

TableB 
Key varchar(10)

Rows:
Key1
如何从表A中选择所有缺少的项目并插入到表B中?换句话说,在表B中插入键2


使用Sql Server 2008R2。

这应该通过TableB,并根据tableA中的内容覆盖key2中的任何空白或空项(如果tableA中有空白或空项,则情况不同)


您可以使用左连接

INSERT INTO TableB ([key])
SEECT a.[key]
FROM TableA a
LEFT JOIN TableB b
 ON a.[key] = b.[key]
WHERE b.[key] IS NULL
INSERT INTO TableB ([key])
SEECT a.[key]
FROM TableA a
LEFT JOIN TableB b
 ON a.[key] = b.[key]
WHERE b.[key] IS NULL