- 98496
drop table #test2
select a.*, B.Delq_Sep12, b.Bal_Sep12, b.Queue_Sep12
into #test2
from #test4 b
join pcd a on (a.ACCOUNT_NUMBER = B.account_number)
- 102845
drop table #test1
select a.*, B.Delq_Sep12, b.Bal_Sep12, b.Queue_Sep12,
into #test1
from #test4 b
left join pcd a on (a.ACCOUNT_NUMBER = B.account_number)
由于
答案 0 :(得分:1)
select * from #test1
except
select * from #test2
当然,这假设#test2中的所有记录都在#test1
中如果您想反过来检查,只需反转查询。
select * from #test2
except
select * from #test1
答案 1 :(得分:0)
显然,您的第一个查询只获得两个表中匹配的行。第二个获取b
的所有行,同时还从匹配的a
中提取数据,如果没有匹配,a
列将填充NULL。
现在,两个结果集之间的差异实际上是b
的不匹配行。要获得这些行,您可以使用像我这样的NULL检查来使用第二个查询:
select a.*, B.Delq_Sep12, b.Bal_Sep12, b.Queue_Sep12,
from #test4 b
left join pcd a on (a.ACCOUNT_NUMBER = B.account_number)
where a.ACCOUNT_NUMBER is null
也就是说,不需要#test1
或#test2
,只需直接查询不匹配的行。