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

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

作者:zeke     
          出处:http://zhf.cnblogs.com/
          本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 

原文地址:https://www.cnblogs.com/ZHF/p/1247930.html