如何使用sql验证两个表中的字段是否匹配

时间:2014-04-16 21:00:06

标签: sql sql-server-2008 tsql

我有两个表:一个表包含cityzipcodestate等字段 我有第二个表格,其中包含zipcode citystate

等字段

我需要与第二张表进行比较

例如:

当我针对'Fresh Meadows'对1st table运行查询时,我得到了记录数:

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中的邮政编码不匹配的城市

我该如何实现?

谢谢

2 个答案:

答案 0 :(得分:0)

下面的查询加入City,State和Zip。如果这三个字段的组合不在表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

答案 1 :(得分:0)

单词 - 在"城市" 上使用列(城市,邮政编码)执行table-1table-2之间的自然联接 - table2(城市,邮政编码) )。