SQL SERVERを使っている環境で、二つのテーブルを比較して同じ値が存在したら片方のテーブルからレコードを削除する方法について書いてみる。
例えば、テーブルAとテーブルBが存在し、各々のテーブルにフィールドとして項目1、項目2、項目3が在るとする。
そして、項目1、項目2、項目3の3つのフィールドが一致したら、テーブルAから削除したいとする。
SQL文
DELETE A
FROM テーブルA AS A INNER JOIN テーブルB AS B ON
( A.項目1 = B.項目1) AND
( A.項目2 = B.項目2) AND
( A.項目3 = B.項目3)