Sql 比较两个DW表之间的数据
我有点困惑。我正在测试DW中的一些数据质量问题,我需要知道一个表中的LOAN_SID是否与另一个表匹配。我使用了这个查询,但我不确定我是否正确,是否匹配,如果不匹配,就会出现问题。一切都很好 这就是问题所在:Sql 比较两个DW表之间的数据,sql,database,oracle,compare,data-warehouse,Sql,Database,Oracle,Compare,Data Warehouse,我有点困惑。我正在测试DW中的一些数据质量问题,我需要知道一个表中的LOAN_SID是否与另一个表匹配。我使用了这个查询,但我不确定我是否正确,是否匹配,如果不匹配,就会出现问题。一切都很好 这就是问题所在: (select count(LOAN_SID) from DW_DW.AGG_LOAN_SS_MONTHLY minus select LOAN_SID from DW_DW.F_LOAN_UNWOUND_TRAN_DAILY) union all ( select LOAN_
(select count(LOAN_SID) from DW_DW.AGG_LOAN_SS_MONTHLY
minus
select LOAN_SID from DW_DW.F_LOAN_UNWOUND_TRAN_DAILY)
union all
(
select LOAN_SID from DW_DW.F_LOAN_UNWOUND_TRAN_DAILY
minus
select LOAN_SID from DW_DW.AGG_LOAN_SS_MONTHLY
)
另一个是:
SELECT LOAN_SID
FROM DW_DW.AGG_LOAN_SS_MONTHLY A
WHERE not EXISTS (SELECT LOAN_SID
FROM DW_DW.F_LOAN_UNWOUND_TRAN_DAILY B
WHERE A.LOAN_SID = B.LOAN_SID);
请帮忙 这将提供两个表中唯一的所有sid。这不是一个非常有效的查询,不应该在没有测试的情况下在大型表上运行
select * from
( (select LOAN_SID, 'F_LOAN_UNWOUND_TRAN_DAILY' AS SOURCE
from DW_DW.F_LOAN_UNWOUND_TRAN_DAILY
minus
select LOAN_SID, 'AGG_LOAN_SS_MONTHLY'
from DW_DW.AGG_LOAN_SS_MONTHLY)
UNION ALL
( select LOAN_SID, 'AGG_LOAN_SS_MONTHLY' AS SOURCE
from DW_DW.AGG_LOAN_SS_MONTHLY)
minus
select LOAN_SID, 'F_LOAN_UNWOUND_TRAN_DAILY'
from DW_DW.F_LOAN_UNWOUND_TRAN_DAILY))
获取两个表中的SID
select a.LOAD_SID
from DW_DW.AGG_LOAN_SS_MONTHLY a, DW_DW.F_LOAN_UNWOUND_TRAN_DAILY b
where a.LOAN_SID = b.LOAN_SID;
谢谢你的帮助,我怎样才能得到两个表中相同的呢?