EXCEPTを使用すると、IDs
が見つからない場合があります。たとえば:
SELECT FK_1, FK_2, FK_2
FROM new_data_table
EXCEPT
SELECT FK_1, FK_2, FK_2
FROM current_data_table;
それはすべての列を挿入するためにnew_data_table
にこの新しいテーブルを結合するために、これらのIDをマテリアライズとする(パフォーマンス前向きに)良くなります。
これを1つのクエリで行う必要がある場合は、簡単なLEFT JOIN
を使用できます。たとえば:
INSERT INTO current_data_table
SELECT A.*
FROM new_data_table A
LEFT JOIN current_data_table B
ON A.FK_1 = B.FK_1
AND A.FK_2 = B.FK_2
AND A.FK_3 = B.FK_3
WHRE B.[FK_1] IS NULL;
アイデアはcurrent_data_table
テーブル(WHRE B.[FK_1] IS NULL
)での一致がない、そのためnew_data_table
すべてのレコードを取得することです。
私はあなたがここで何を求めているのか分かりません。 –
Google.co.in ..... –