其中,不同的ID有两个值

时间:2013-08-20 13:48:45

标签: mysql

我为这个奇怪的标题道歉,我真的想不出一种描述这个的方法。我只是有一个完整的心理障碍。基本上,表格布局如下:

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

我基本上想要为CompanyACompanyB

选择该表中包含记录的所有客户ID

我该怎么做?

2 个答案:

答案 0 :(得分:5)

要返回同时包含company_idsCompanyA的所有CompanyB,您应该能够使用带有HAVING子句的GROUP BY来获取结果:

select customer_id
from yourtable
where company in ('CompanyA', 'CompanyB')
group by customer_id
having count(distinct company) >= 2;

请参阅SQL Fiddle with Demo

如果您只想使用company_idsCompanyA返回任何CompanyB,那么您可以使用IN

select customer_id
from yourtable
where company in ('CompanyA', 'CompanyB')

答案 1 :(得分:0)

就像我发布这个一样,我想出来了。我整天都在写复杂的查询,但我无法得到它。它实际上只是一个OR查询。