SQL - 加入/选择特定值

时间:2018-01-17 15:04:19

标签: sql sql-server join

我只是有一个关于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,感谢迄今为止我所获得的所有帮助和备份:)

1 个答案:

答案 0 :(得分:2)

这应该适合你:

select email from b
where not exists 
(select 1 from a where b.email = a.email and b.company = a.company)