0

同じ構造とデータ型で作成された 2 つのテーブルがあります。一部の値は で追加されTable1、一部の値は で追加されTable2ます。今、私はどういうわけか、欠落している値で両方のテーブルを INSERT (それらを同期) するのが好きです。2 つのテーブルの比較には Col1 を使用します。私が得たい結果の以下のデモンストレーションをご覧ください。

表 1 :

Col1 Col2
v1   1
v2   2
v3   3
v6   6

表 2 :

Col1 Col2
v1   1
v4   4
v5   5

Table1 または Table2 の結果は次のようになります。

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

これは、Table1 にまだ存在しない Table2 から行を挿入する 1 つの方法です。

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 に答える