我有两张桌子。
所以一个联系人可能有多个事件选择退出,但我真正关心的是他们是否有公司选择退出。
如何加入数据,以便如果联系人与optout表格中具有“公司”范围的任何行匹配,则该结果不会显示在结果中?
答案 0 :(得分:2)
SELECT c.*
FROM Contacts c
WHERE NOT EXISTS(SELECT NULL
FROM OptOut o
WHERE c.contact_email = o.contact_email
AND o.scope = 'company')
这也可以使用LEFT JOIN
:
SELECT c.*
FROM Contacts c
LEFT JOIN OptOut o
ON c.contact_email = o.contact_email
AND o.scope = 'company'
WHERE o.contact_email IS NULL
答案 1 :(得分:1)
从contact_email不在的联系人中选择*(从optout中选择contact_email,其中scope ='company');