我有两张表sales
和sales_stg
。第一个是源表,第二个是登台表。
在做审计的同时找出上述不一致之处 两个表,即使在暂存中没有行,我也会获得金额 表
DDL,DML语句和审计查询在SQL小提琴中给出 http://www.sqlfiddle.com/#!2/b3333/2
答案 0 :(得分:0)
要查找不一致的记录,您可以使用从您的
派生的查询select sum(SL.sales_amt) as SALES_SUM, sum(ST.sales_WIP_amt) as SALES_STG_SUM, SL.sales_id, SL.location
from sales SL INNER JOIN sales_stg ST
ON SL.sales_id = ST.sales_id
group by SL.sales_id, SL.location
having SALES_SUM != SALES_STG_SUM
如果这不是您想要的,您必须更详细地解释您尝试做的事情。
答案 1 :(得分:0)
如果您只想要行,只需使用具有多个条件的LEFT JOIN,并在第二个表中检查NULL。
select SL.sales_id,sales_amt, SL.location
from sales SL LEFT JOIN sales_stg ST
ON SL.sales_id = ST.sales_id AND sales_amt=sales_wip_amt
and SL.location=ST.location
where sales_wip_amt IS NULL