我为这个奇怪的标题道歉,我真的想不出一种描述这个的方法。我只是有一个完整的心理障碍。基本上,表格布局如下:
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
我基本上想要为CompanyA
和CompanyB
我该怎么做?
答案 0 :(得分:5)
要返回同时包含company_ids
和CompanyA
的所有CompanyB
,您应该能够使用带有HAVING子句的GROUP BY来获取结果:
select customer_id
from yourtable
where company in ('CompanyA', 'CompanyB')
group by customer_id
having count(distinct company) >= 2;
如果您只想使用company_ids
或CompanyA
返回任何CompanyB
,那么您可以使用IN
:
select customer_id
from yourtable
where company in ('CompanyA', 'CompanyB')
答案 1 :(得分:0)
就像我发布这个一样,我想出来了。我整天都在写复杂的查询,但我无法得到它。它实际上只是一个OR
查询。