我为这个奇怪的标题道歉,我真的想不出一种描述这个的方法.我只是有一个完整的心理障碍.基本上,表格布局如下:
id, customer_id, company, date, (... other irrelevant fields)
1 1 CompanyA 02/08/1111
2 1 CompanyB 02/08/1111
3 1 CompanyC 02/08/1111
Run Code Online (Sandbox Code Playgroud)
我基本上要选择所有客户ID的具有在该表中记录都CompanyA和CompanyB
我该怎么做?
返回所有company_ids同时具有CompanyA与CompanyB那么你应该能够使用GROUP BY与HAVING子句得到的结果:
select customer_id
from yourtable
where company in ('CompanyA', 'CompanyB')
group by customer_id
having count(distinct company) >= 2;
Run Code Online (Sandbox Code Playgroud)
如果您只是想要返回任何company_ids一个CompanyA,CompanyB那么您可以使用IN:
select customer_id
from yourtable
where company in ('CompanyA', 'CompanyB')
Run Code Online (Sandbox Code Playgroud)