决定一个人富有的三个条件,一是出身,二是运气,三是努力
If you can dream it,you can do it! Nothing Impossible~

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

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

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

posted on 2008-07-21 19:31  ZEKELOVE  阅读(7789)  评论(1编辑  收藏  举报