专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > DB2

DB2求两个结果集差别的SQL

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
DB2求两个结果集差异的SQL
本帖最后由 pangjinyu 于 2013-08-20 15:12:47 编辑
TB1:
PROJ K1 K2 K3 K4
项目1 10 15 17 20
项目2 10 20 17 20
项目3 10 28 17 20


TB2:
PROJ K1 K2 K3 K4
项目1 10 15 18 20
项目2  9 20 17 20
项目3 10 28 17 20
项目4 10 50 17 20

需得到结果:
PROJ K1 K2 K3 K4
项目1           -1
项目2    1
项目4 -10 -50 -17 -20

结果是对比计算得到两个结果集指标(K1、K2……指标有几十个)差异值。
因指标太多,用JOIN然后逐个指标减法感觉太不灵活,求高级轻巧一点的解决办法。
SQL DB2 结果差异 DB2 SQL 求差异

------解决方案--------------------
如果你的意思是k1----kn变化不确定列数,那么可以用存储过程,去syscat.columns中查询需要表的列信息,然后用来拼出sql文,但是其实也是用join,只不过避免了手动去写kn-kn这样
------解决方案--------------------
select
 PROJ,sum(K1),sum(K2),sum(K3),sum(K4)
from (
select PROJ, K1, K2, K3, K4 from TB1
union all 
select PROJ,   -K1,    -K2,    -K3,    -K4 from TB2
)
group by PROJ
having sum(K1)<>0 or sum(K2)<>0 or sum(K3)<>0 or sum(K4)<>0
with ur
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: