当我在两个几乎相同的表中发现任何数据差异时,我需要生成一个报告。(我使用的是Informix数据库版本11.70。)
例如:我的活动表有列:
活着
Name ID TRN
XXX 1 10 归档:
Date Name ID TRN
01/01/2018 XXX 1 10
31/12/2017 XXX 1 11
29/12/2017 XXX 1 12 Archive表有相同的一组列,只是它还有一个date列,这样我就可以看到活动表在给定日期有哪些值。
与归档数据相比,我如何编写查询来查找实时数据中的值是否发生了更改。
我尝试了这个查询:
select name,id,TRN from live
union
select name,id,TRN from archive虽然它工作,但有没有更好/更快的方法,因为在报告中,我需要有实时数据和历史值的差异。
报告中的预期结果:
Live:
01/01/2018|XXX|1|10
Archive
31/12/2017|XXX|1|11
29/12/2017|XXX|1|12 发布于 2018-01-05 20:40:32
尝试:
select name,id,TRN from live
minus
select name,id,TRN from archive查找live中不在存档中的行,以及
select name,id,TRN from archive
minus
select name,id,TRN from live要查找存档中不在活动中的行,请执行以下操作。
https://stackoverflow.com/questions/48112636
复制相似问题