我有一个SQL表由ID,名称,电子邮件,....我有另一个SQL表,有ID,电子邮件,emailstatus但这两个ID是不同的,他们是不相关的。这两张桌子唯一常见的就是电子邮件。2 SQL表之间它们没有共同的id是什么样的连接?
我想加入这两个表,将table1中的所有信息加入,如果表1和表2中的电子邮件地址相同,并且emailstatus是'Bounced'。但是我写的查询给我的记录比预期的要多。
你能帮忙吗?此外,我甚至不确定没有共同的身份证是没有问题的。这是我的查询。
SELECT
A.[Id]
,A.[Application]
,A.[Loan]
,A.[Firstname]
,A.[Lastname]
,A.[Email],
,H.[Email], H.[EmailStatus] as BouncedEmail
FROM Applicant A (NOLOCK)
left outer join [tbl_Webhook] [H] (NOLOCK)
on A.Email = H.Email
and A.Email is not Null and H.Email is not Null and H.[EmailStatus]='bounced'
样品所期望的数据:
id email name emailFromTable2 emailstatus
1 [email protected] lili [email protected] bounced
2 [email protected] mike Null Null
3 [email protected] nik [email protected] bounced
4 [email protected] sam Null Null
5 [email protected] james [email protected] bounced
6 [email protected] San Null
好像内加入应该足够了(常见的电子邮件是常见的ID一样好,如果我们忽视的性能问题),这里不需要null检查。 –
这是使用SQL Server语法,因此我附加了该标签。 –
您可以提供样本数据和期望的结果吗?我无法弄清楚你的意思,“我想加入这两个表,把table1的所有信息加入,如果表1和表2的电子邮件地址相同,emailstatus是'Bounced'”。 –