oracle 多个查询语句结果合并

在开发环境中遇到这样关于数据库的问题

有三个不同的查询语句
1:
select year_mon,sum(gasmon)
from a
where id='HBsRf0t6UI'
and class=11
group by year_mon
2:
select year_mon,sum(wellgasmon)
from b
where id='HBsRf0t6UI'
and class=11
group by year_mon
3:
select year_mon,sum(gasprodmon)
from c
where id='HBsRf0t6UI'
and class=11
group by year_mon

本人希望能显示出下面的效果:

year_mon  sum(gasmon)  sum(wellgasmon)    sum(gasprodmon)
200702     122                  222                       123
200703     333                  234                        342
200704     0                      2334                      0
200705     324                  2342                      234

这样的效果也行。

在高人的指点下,问题总算解决了

SELECT   year_mon, SUM (gasmon), SUM (wellgasmon), SUM (gasprodmon)
   
FROM (SELECT   year_mon, SUM (gasmon) gasmon, 0 wellgasmon, 0 gasprodmon
             
FROM a
            
WHERE ID = 'HBsRf0t6UI' AND CLASS = 11
         
GROUP BY year_mon
         
UNION ALL
         
SELECT   year_mon, 0, SUM (wellgasmon), 0
             
FROM b
            
WHERE ID = 'HBsRf0t6UI' AND CLASS = 11
         
GROUP BY year_mon
         
UNION ALL
         
SELECT   year_mon, 0, 0, SUM (gasprodmon)
             
FROM c
            
WHERE ID = 'HBsRf0t6UI' AND CLASS = 11
         
GROUP BY year_mon)
GROUP BY year_mon

现在拿出来供大家交流一下,如果还有其它好的办法,希望各位能拿出来分享~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值