質問: a1 and 事業所テーブル.検索リスト番号 IN ( 'a1-001' , 'a1-002' , 'a1-004' ) ) ``` **やりたいこと** 検索リスト番号に、**「a1-001」と「a1-002」と「a1-004」**を含む事業所を取得する場合のSQLはどのように書けばよいでしょうか? →上記の場合、検索条件テーブルに「a1-004」を指定するレコードがないため、 結果としては「一致するレコードがない」ことを期待します。
回答: 考え方としては、検索テーブルとのJOINをANDの項目数分連結するSQLです。 SELECT 事業所コード FROM 事業所テーブル JOIN 検索条件テーブル AS srch1 ON 事業所テーブル.事業所コード = srch1.事業所コード AND srch1.検索コード = 'a1' AND srch1.検索リスト番号 = 'a1-001' JOIN 検索条件テーブル AS srch2 ON 事業所テーブル.事業所コード = srch2.事業所コード AND srch2.検索コード = 'a1' AND srch2.検索リスト番号 = 'a1-002' JOIN 検索条件テーブル AS srch3 ON 事業所テーブル.事業所コード = srch3.事業所コード AND srch3.検索コード = 'a1' AND srch3.検索リスト番号 = 'a1-004'