テーブルから別のテーブルにデータを挿入しようとしていますが、ソース値が宛先にあるかどうかを最初に確認できるクエリを探しています。存在する場合はロードしないでください。
ソースに以下があるとしましょう
ID|EMAIL|COUNTRY|PHONE
1|s@s.com|US|1212
上記の電子メールが送信先テーブルに存在するかどうかを確認し、存在しない場合はロードします。
あなたの答えを待っています。
テーブルから別のテーブルにデータを挿入しようとしていますが、ソース値が宛先にあるかどうかを最初に確認できるクエリを探しています。存在する場合はロードしないでください。
ソースに以下があるとしましょう
ID|EMAIL|COUNTRY|PHONE
1|s@s.com|US|1212
上記の電子メールが送信先テーブルに存在するかどうかを確認し、存在しない場合はロードします。
あなたの答えを待っています。
MERGE
ステートメントを使用できます
MERGE table2 AS target
USING table1 AS source
ON (target.email = source.email)
WHEN NOT MATCHED BY TARGET
THEN INSERT (
email,
country,
Phone
) VALUES (
source.email,
source.country,
source.phone
);
シンプルジョインも仕事をします
INSERT INTO <TblDestination>
SELECT src.Email
FROM <TblSource> src
LEFT JOIN <TblDestination> dst ON src.Email = dst.Email
WHERE dst.Email IS NULL