- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQlite 2つのテーブル データ一致を抽出)
SQlite 2つのテーブル データ一致を抽出
このQ&Aのポイント
- PHP4.xxとSQLite2を使用して、会員向けのメルマガ配信プログラムを構築しています。
- 配信リストのテーブルと配信停止リストのテーブルの「メールアドレス」のカラムにあるデータを照らし合わせて一致する情報を抽出したいです。
- 配信時に配信停止テーブルに登録されているメールアドレスと一致するデータがあれば、それを読み込まないようにしたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
SQLite2について詳しくなく、SQLの実装状況も十分に把握していません。また、CSVファイルとSQLで操作したいというテーブルの関連、対応付けができるキーは「メールアドレス」だけなのかといったことも不明ですが、差分を求めるSQL例でいいなら、SQLite3では実装済のSQLを、いくつか提示しておきます。 (1)existsを使った例 select * from "配信リスト" as x where not exists (select 1 from "配信停止リスト" where x."メールアドレス"="メールアドレス") ; (2)inでサブクエリを使った例 select * from "配信リスト" where "メールアドレス" not in(select "メールアドレス" from "配信停止リスト") ; (3)outer joinを使った例 select * from "配信リスト" as x left join "配信停止リスト" as y on x."メールアドレス"=y."メールアドレス" where y."メールアドレス" is null ; (4)exceptを使った例 select "メールアドレス" from "配信リスト" except select "メールアドレス" from "配信停止リスト" ;