2015-10-15 35 views
1

正如標題詢問我正在試圖找到一種方法爲交易中的差異提供一個數字。簡單英語的問題是: 數據庫中存在一些不良數據。一些銷售交易缺少關於哪個產品和銷售多少的數據。SQL Query查找共享密鑰的兩個表之間的缺失記錄

Salestransaction(表1) 柱:的transactionId,客戶ID,STOREID,tdate

Soldvia(表2) 柱:的transactionId,產品ID,noofitems

任何幫助在此,將不勝感激。如果我不清楚,請告訴我,我會提供更多信息。謝謝。

+0

RDBMS使用哪? –

+0

salestransaction.transactionid有1351條記錄,soldvia.transactionid有1083條記錄。相差268.如何使用一個查詢顯示此內容? – SuperCereal

+0

微軟SQL管理工作室 – SuperCereal

回答

4

這是過濾null的樸素LEFT JOIN:兩個表中

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

對於缺項:

對於缺項的Soldvia

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 
+0

我發誓我做到了。我一定搞砸了。感謝鬃毛。 – SuperCereal

相關問題