如果我在Sugar CRM中搜索,我可以找到一些已分配给多个联系人的电子邮件地址 - 我不希望这样。我希望有一个SQL查询,它将列出与多个联系人关联的任何电子邮件地址。因此,换句话说,列出所有具有相同电子邮件地址的Sugar Contacts。
我尝试了各种查询,但我遇到了问题。以下查询将允许我找到一堆联系人
SELECT ea.email_address, eabr.* FROM email_addr_bean_rel eabr
INNER JOIN email_addresses ea ON eabr.email_address_id = ea.id
WHERE ea.email_address = 'joe.bloggs@gmail.com'
AND eabr.deleted = 0;
这没关系,但我必须指定要检查的电子邮件帐户。
任何人都可以帮我改写这个,以便不指定电子邮件地址,但搜索整个数据库中是否存在多个联系人的电子邮件地址?
我不确定如何编写上述查询。
任何指针都会受到赞赏。
由于
詹姆斯
答案 0 :(得分:1)
首先,你join
表。接下来,筛选出已删除的元素。然后,您按ea.email_address
分组。因此,您检查他们的数字是否大于1.最后,您选择分组ea.email_address
并使用分隔符(在本例中为contact_id
)合并':'
值{{1 }}
group_contact
代码未经过测试。
答案 1 :(得分:0)
如果您想要任何重复的电子邮件地址,可以尝试这样的事情:
SELECT ea.email_address, eabr.* FROM email_addr_bean_rel eabr
INNER JOIN email_addresses ea ON eabr.email_address_id = ea.id
WHERE ea.email_address IN
(SELECT ea.email_address FROM email_addr_bean_rel eabr
INNER JOIN email_addresses ea ON eabr.email_address_id = ea.id
WHERE eabr.deleted = 0
GROUP BY email_address
HAVING count(*) > 1)
AND eabr.deleted = 0;