在报表模块中获取已分配项目数超过2的联系人

时间:2016-12-13 10:57:06

标签: mysql sugarcrm

如何获取拥有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_aprod_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

1 个答案:

答案 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;