我有两个表,其中应该包含相同的信息。比较两个SQL表来找出缺少的东西。
表1 - 发票报头(客户名称等) 表2 - 发票行(股票参考等)
表1基本上是表2的各匹配线的概要我知道表1是正确的和包含所有的数据。
这些匹配的键将是日期,发票编号和帐号。
有没有办法看到表2中缺少什么?
我有两个表,其中应该包含相同的信息。比较两个SQL表来找出缺少的东西。
表1 - 发票报头(客户名称等) 表2 - 发票行(股票参考等)
表1基本上是表2的各匹配线的概要我知道表1是正确的和包含所有的数据。
这些匹配的键将是日期,发票编号和帐号。
有没有办法看到表2中缺少什么?
您应该使用Left Outer Join来显示左表中的内容,但不是右边的内容。在这种情况下,左表是您的标题,右是发票行。 MSDN页面上有很多示例,并且谷歌查询出现了很多结果。 (尽量不要在这里提供一个例子,因为这是从经验中学习的真棒机会。)
谢谢我会让你知道我是怎么做到的。 –
是的,你可以使用:
Select * from table 1
minus
Select * from table 2;
或者你可以使用
SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]
EXCEPT
SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]
的SQL EXCEPT子句/运算符用于组合两个SELECT语句,并返回第一个SELECT语句中不由第二个SELECT语句返回的行。
您能分享您的餐桌结构吗? – Mureinik