我只是有一个关于SQL连接的简单快速问题。我想创建一个考虑两列的连接或选择。
例如:
。#A有我不想与各自公司联系的电子邮件。
。#B有我想要的各自公司的电子邮件。
我想从#B中选择#A中没有电子邮件的所有内容,所以我的代码最初是:
select * from #B where email not in (select email from #A)
但我唯一的问题是,每封电子邮件都可以附加一个以上的公司,所以我想制作一个选择,它会在#B中引入不在#A中的电子邮件,但我想要电子邮件 - 公司组合匹配。因此,如果#A中存在email-company1,而#A中不存在email-company2,我不希望所有与该电子邮件相关的内容都不显示,因为#A中存在一个电子邮件公司组合。
提前感谢您的帮助!
编辑: 我为这些公司的含糊提及道歉。我的意思是#A和#B都有列电子邮件和公司,但每封电子邮件都可以与不同的公司联系,所以当我选择不包含来自#AI的电子邮件时,只想不包括也匹配的电子邮件公司。因此,如果#B有email-company2而#A有email-company3,我不希望我的select从select语句中删除email-company2。
我也知道我的问题可能听起来有点愚蠢,我道歉。我还习惯使用SQL,感谢迄今为止我所获得的所有帮助和备份:)
答案 0 :(得分:2)
这应该适合你:
select email from b
where not exists
(select 1 from a where b.email = a.email and b.company = a.company)