首页  ·  知识 ·  数据库
oracle多个查询语句结果合并
ZHF  http://www.cnblogs.com/ZHF/archive/    编辑:dezai  图片来源:网络
有三个不同的查询语句 1: select year_mon,sum(gasmon) from a where id='HBsRf0t6UI' and 11 group by year_mon 2: <

有三个不同的查询语句
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

本文作者:ZHF 来源:http://www.cnblogs.com/ZHF/archive/
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读