あるテーブルから別のテーブルにデータを挿入しようとしていますが、重複する行が挿入されないようにしたいと思います。私は現在次のクエリを持っています:
INSERT INTO Table1
(
Table1Col1,
Table1Col2,
Table1Col3,
Table1Col4,
Table1Col5
)
SELECT
Table2Col1,
Table2Col2 = constant1,
Table2Col3 = constant2,
Table2Col4 = constant3,
Table2Col5 = constant4
FROM Table2
WHERE
Condition1 = constant5
AND
Condition2 = constant6
AND
Condition3 = constant7
AND
Condition4 LIKE '%constant8%'
私が知らないのは、Table2からTable1に挿入しようとしている行がすでに存在している可能性があることです。この重複の可能性を防ぎ、挿入をスキップして、次の一意の行の挿入に進みます。
WHERE NOT EXISTS句とINTERSECTキーワードを使用できることはわかりましたが、Table2から選択したデータの一部と定数値のみを使用したいため、特定のクエリに適用する方法を完全には理解していませんでした。 Table1に挿入します。
編集:
TableCol2からTableCol5までの列は実際には結果セットに存在せず、返されるTable2Col1と一緒にこれらの列にデータを入力していることを追加する必要があります。