当我在撰写查询时,我会逐步完成。有时候,在这个过程中,我会意识到我犯了一个“错误”,例如最终会有额外的或丢失的记录。所以,我通常会比较两个查询:
(Select blah blah blah ) Mine
Inner join
((Select blah blah blah ) Orig
Where Mine.PK <> Orig.PK
或者如果我正在寻找丢失或额外的记录,我将使用左连接而不是寻找空值。
有没有更好的方法可以快速找出为什么两个查询返回不同数量的记录?
答案 0 :(得分:2)
您需要一个完整的加入才能开始。内部联接将仅显示我在但不在Orig中的记录。完整的联接将向您显示那些在我的遗体中缺失的遗产。
检查差异的快速而肮脏的方法是比较CHECKSUM_AGG(CHECKSUM(*))