我有一个搜索表格,人们可以在其中选择公司的多项服务,表格如下:
企业business_id、business_name
业务数据
1、王子父子
2、史密斯有限公司
3、布朗队
服务service_id、service_name
服务数据
1、抛丸清理
2、绘画
3 蒸汽清洗
业务_服务业务_id, service_id
1, 1
1, 2
2, 2
3 1
3 2
因此,如果用户选择搜索一项,例如 Shot Blasting,则 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
我知道这真的很简单,但我似乎无法理解它。