如何使用sql验证两个表中的字段是否匹配
我有两个表:一个表有如何使用sql验证两个表中的字段是否匹配,sql,sql-server-2008,tsql,Sql,Sql Server 2008,Tsql,我有两个表:一个表有city、zipcode和state 我还有第二个表,它包含像zipcodecity和state 我需要和第二张桌子比较一下 例如: 当我对“Fresh Meadows”的第一个表运行查询时,我得到了记录数: Table1 city zipcode state Flushing 11351 NY Flushing 11354 NY Flushing 113
city
、zipcode
和state
我还有第二个表,它包含像zipcode
city
和state
我需要和第二张桌子比较一下
例如:
当我对“Fresh Meadows”的第一个表运行查询时,我得到了记录数:
Table1
city zipcode state
Flushing 11351 NY
Flushing 11354 NY
Flushing 11358 NY
Flushing 11365 NY
Flushing 11366 NY
...............................................
在对主表运行存储过程时(与之进行比较),我也会得到一些记录:
Table2
city zipcode state
Flushing 11370 NY
Flushing 11371 NY
Flushing 11372 NY
...............................................
我需要编写一个查询,帮助我查找表1中与主表2中的邮政编码不匹配的城市
我怎样才能做到这一点
谢谢你下面的查询是关于城市、州和邮政的。如果这三个字段的组合不在表B中,它将从A返回该记录
SELECT A.*
FROM Table1 A
LEFT JOIN Table2 B ON
A.City = B.City AND
A.State = B.State AND
A.ZipCode = B.ZipCode
WHERE B.ZipCode IS NULL
换句话说-使用列(城市,Zipcode)在上的
表1
和表2
之间执行自然联接-表2(城市,Zipcode)