有三个不同的查询语句
1:
2:
3:
希望能显示出下面的效果:
这样的效果也行。
问题解决
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
本文介绍了一种通过SQL查询实现多表数据整合的方法。利用UNION ALL结合子查询,可以将来自不同表中相同ID的数据按月份进行汇总,最终在一个结果集中显示所有相关数据。这种方法适用于需要整合多个来源相似数据的场景。
1666

被折叠的 条评论
为什么被折叠?



