我有两个表:TableA - 默认项列表。 TableB是TableA的副本,但可能缺少项目。我需要一个插入语句,将缺少的项插入TableB
TableA
Key varchar(10)
Rows:
Key1
Key2
TableB
Key varchar(10)
Rows:
Key1
如何从TableA中选择所有缺少的项并插入TableB?换句话说,将Key2插入TableB。
使用Sql Server 2008R2。
答案 0 :(得分:1)
您可以使用 LEFT JOIN
INSERT INTO TableB ([key])
SEECT a.[key]
FROM TableA a
LEFT JOIN TableB b
ON a.[key] = b.[key]
WHERE b.[key] IS NULL
答案 1 :(得分:0)
这应该通过Table并根据表中的内容覆盖key2中的任何空白或空项(如果表有空白或空是一个不同的故事)
update TableB b
set b.key2 case b.key2
when ' ' then
select key2 from tableA where a.key1 = b.key1
when null then
select key2 from tableA where a.key1 = b.key1