私は、人々が企業のいくつかのサービスを選択できる検索フォームを持っています。表は次のとおりです。
ビジネスbusiness_id、business_name
ビジネスデータ
1、プリンス&サン
2、スミス株式会社
3、ブラウンズ
サービスservice_id、service_name
サービスデータ
1、ショットブラスト
2、塗装
3 スチーム洗浄
Business_serviceビジネス ID、サービス ID
1、1
1、2
2、2
3 1
3 2
したがって、ユーザーがショット ブラストなどの 1 つの項目の検索を選択した場合、SQL は次のようになります。
Select * FROM business
Inner Join business_service On business_service.business_id = business.business_id
Inner Join service On service.service_id = business_service.service_id
WHERE business_service.service_id = 1
これは問題なく動作しますが、ユーザーが「ショット ブラスト」と「ペインティング」を提供するビジネスを検索すると、business_id 1 と 3 が表示されることが予想されます。次の SQL が機能しないことはわかっていますが、しなければならなかった。
Select * FROM business
Inner Join business_service On business_service.business_id = business.business_id
Inner Join service On service.service_id = business_service.service_id
WHERE business_service.service_id = 1 And business_service.service_id = 2
私はこれが本当に簡単であることを知っていますが、私はそれを理解することができないようです.