如何获取拥有 2 个产品的联系人数据?
联系人表
id name
1 Jon Doe
项目表
id Project_name
1 prod_a
2 prod_b
project_contacts 表
id contact_id project_id
1 1 1
2 1 2
我想要那些同时拥有 prod_a
和 prod_b
的联系人的结果
如何在报表模块中查询这个
select c.name
from
Contacts c,
Projects p,
project_contacts pc
WHERE
c.id = pc.contact_id
and p.id = pc.project_id
and p.name = "prod_a"
and p.name = "prod_b"
我要获取结果
name
--------
John Doe
John Doe
最佳答案
您需要在表之间执行JOIN
,然后像group by
select c.name
from Contacts c
join project_contacts pc on c.id = pc.contact_id
join Projects p on o.id = pc.project_id
WHERE p.Project_name in ('prod_a','prod_b')
group by c.id
having count(distinct c.name) = 2;
关于mysql - 在报告模块中获取分配项目超过 2 个的联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41119382/