其中,不同的ID有两个值

and*_*ndy 0 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
Run Code Online (Sandbox Code Playgroud)

我基本上要选择所有客户ID的具有在该表中记录都CompanyA和CompanyB

我该怎么做?

Tar*_*ryn 5

返回所有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)

请参阅SQL Fiddle with Demo.

如果您只是想要返回任何company_ids一个CompanyA,CompanyB那么您可以使用IN:

select customer_id
from yourtable
where company in ('CompanyA', 'CompanyB')
Run Code Online (Sandbox Code Playgroud)