如何获取拥有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
答案 0 :(得分:1)
您需要在表格之间执行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;