0

我有两个具有相同结构和数据类型的表。在中添加了Table1一些值,在中添加了一些值Table2。现在,我喜欢以某种方式插入两个表(同步它们)与它们缺少的值。我将使用 Col1 来比较这两个表。请看下面我希望得到的结果的演示。

表 1

Col1 Col2
v1   1
v2   2
v3   3
v6   6

表2

Col1 Col2
v1   1
v4   4
v5   5

表 1 或表 2 的结果将是

v1   1
v2   2
v3   3
v4   4
v5   5
v6   6

谢谢

4

2 回答 2

0
INSERT INTO Table1
SELECT Col1, Col2
FROM
    Table2 t2
    LEFT JOIN Table1 t1 ON t1.Col1 = t2.Col1
WHERE
    t1.Col1 IS NULL
GO

INSERT INTO Table2
SELECT Col1, Col2
FROM
    Table1 t1
    LEFT JOIN Table2 t2 ON t2.Col1 = t1.Col1
WHERE
    t2.Col1 IS NULL
GO
于 2013-05-24T18:56:59.970 回答
0

这是一种方法,从 Table2 中插入 Table1 中尚不存在的行;

INSERT INTO Table1
  SELECT col1, col2 FROM Table2 
  WHERE NOT EXISTS (
    SELECT 1 FROM Table1 
    WHERE Table1.Col1 = Table2.Col1
  );

一个用于测试的 SQLfiddle

于 2013-05-24T18:59:04.973 回答