【问题标题】:SQL Query to find missing records between two tables that share a keySQL 查询以查找共享键的两个表之间的缺失记录
【发布时间】:2015-10-15 14:22:32
【问题描述】:

正如标题所要求的那样,我正在尝试找到一种方法来给我一个交易差异的数字。简单的英语问题是: 数据库中有一些不良数据。一些销售交易缺少关于哪些产品以及售出数量的数据。

销售交易(表 1) 列:transactionid、customerid、storeid、tdate

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

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

【问题讨论】:

  • 你使用哪些 rdbms?
  • salestransaction.transactionid有1351条记录,soldvia.transactionid有1083条记录。相差 268。如何通过一个查询显示?
  • Microsoft SQL 管理工作室

标签: sql sql-server


【解决方案1】:

这是简单的LEFT JOIN 过滤nulls:

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

【讨论】:

  • 我发誓我做到了。我一定搞砸了什么。谢谢鬃毛。
猜你喜欢
  • 2011-04-19
  • 1970-01-01
  • 1970-01-01
  • 2015-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-20
相关资源
最近更新 更多