如何找到缺失的行?

时间:2014-05-08 17:57:12

标签: sql-server sql-server-2008

我有两个相同的表A和B.两个表都有相同的字段,例如表A(bin,存储,工厂)和B(bin,存储,工厂)。但是当我检查数据时,表A有5238行,B有5249行。所以我不知道哪11行丢失了。我需要帮助来编写一个查询,我可以找到那些丢失的行。

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

可以使用EXCEPT命令解决您的问题:

SELECT bin 
  FROM tableB
EXCEPT
SELECT bin 
  FROM tableA;

显示tableB中但不在tableA中的所有bin。

答案 1 :(得分:1)

select *
from tableA
full outer join tableB on tableA.bin = tableB.bin
where tableA.bin is null or tableB.bin is null

SQL-Server允许full outer join。您可以从两个表中选择所有记录,并将结果限制为在另一个表上找不到连接的匹配项。