現在Laravelで以下のような検索システムを作成しています。
事業所テーブル
id | 事業所コード | 事業所名 |
---|---|---|
1 | 001 | テストビル001 |
2 | 002 | テストビル002 |
3 | 003 | テストビル003 |
4 | 004 | テストビル004 |
5 | 005 | テストビル005 |
検索条件テーブル
|id|事業所コード|検索コード|検索リスト番号|
|:--|:--|:--|
|1|001|a1|a1-001|
|2|001|a1|a1-002|
|3|001|a1|a1-003|
|4|001|a2|a2-001|
|5|005|a1|a1-001|
a1の検索リスト
- a1-001
- a1-002
- a1-003
- a1-004
- a1-005
検索条件
検索リスト番号に、**「a1-001」か「a1-002」か「a1-004」**を含む事業所コードを取得する場合だと
以下のSQLで取得できます。
SELECT 事業所コード FROM 事業所テーブル JOIN 検索条件テーブル ON 事業所テーブル.事業所コード = 検索条件テーブル.事業所コード WHERE 事業所コード IN ( SELECT 事業所コード FROM 事業所テーブル WHERE 事業所テーブル.検索コード = a1 and 事業所テーブル.検索リスト番号 IN ( 'a1-001' , 'a1-002' , 'a1-004' ) )
やりたいこと
検索リスト番号に、**「a1-001」と「a1-002」と「a1-004」**を含む事業所を取得する場合のSQLはどのように書けばよいでしょうか?
→上記の場合、検索条件テーブルに「a1-004」を指定するレコードがないため、
結果としては「一致するレコードがない」ことを期待します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/17 15:21