问题描述
我有两个具有相同模式和复合键的表,表 a 和表 b
I have two tables with identical schemas and composite keys, table a and table b
我需要从表 a 向表 b 中插入行,其中表 b 中不存在相同的键.
I need to insert rows into table b from table a, where an identical key does not already exists in table b.
我该怎么做?
推荐答案
-- Set up sample data CREATE TABLE A(Key1 int NOT NULL, Key2 nvarchar(10) NOT NULL, Data nvarchar(20)) INSERT INTO A(Key1, Key2, Data) Values(10, 'AA', 'My first value') SELECT * INTO B FROM A INSERT INTO A(Key1, Key2, Data) Values(20, 'BA', 'My second value') -- Copy the missing rows from table A to table B INSERT INTO B(Key1, Key2, Data) SELECT A.Key1, A.Key2, A.Data FROM A LEFT JOIN B ON A.Key1 = B.Key1 AND A.Key2 = B.Key2 WHERE B.Key1 IS NULL