SQL Query查找共享密钥的两个表之间的缺失记录

时间:2015-10-15 05:57:06

标签: sql sql-server

就像标题要求我试图找到一种方法来给我一个数字来表示交易的差异。用简单的英语问题是: 数据库中有一些不良数据。某些销售交易缺少哪些产品和销售数量的数据。

Salestransaction(表1) 列:transactionid,customerid,storeid,tdate

Soldvia(表2) 列:transactionid,productid,noofitems

对此有任何帮助将不胜感激。如果我不清楚,请告诉我,我会提供更多信息。谢谢。

1 个答案:

答案 0 :(得分:4)

这是简单LEFT JOIN,过滤null s:

Soldvia表中缺少的项目:

select count(*) as difference 
from Salestransaction st
left join Soldvia s on st.transactionid = s.transactionid 
where s.transactionid is null

对于两个表中缺少的项目:

select count(*) as difference 
from Salestransaction st
full join Soldvia s on st.transactionid = s.transactionid 
where st.transactionid is null or s.transactionid is null