合并两个结果集-union all
合并两个结果集,并且两个结果集的数据 根据条目自动归为一行
结果集1 如下:
SQL> select t1.fplx,t1.djje from yw_zjfpjl t1 ;
FPLX DJJE
-------- -----------------
一等奖 10
一等奖 20
一等奖 30
一等奖 40
一等奖 50
一等奖 60
二等奖 10
二等奖 30
二等奖 40
二等奖 50
二等奖 10
二等奖 10
四等奖 10
四等奖 10
四等奖 10
四等奖 10
四等奖 10
四等奖 10
三等奖 10
三等奖 10
三等奖 10
三等奖 10
三等奖 10
三等奖 10
五等奖 10
五等奖 10
五等奖 10
五等奖 10
五等奖 10
五等奖 10
结果集2 如下:
SQL> select t2.fplx,t2.djje from yw_fjcwjl t2;
FPLX DJJE
-------- -----------------
一等奖 20
一等奖 30
一等奖 40
一等奖 50
二等奖 10
二等奖 30
二等奖 40
二等奖 50
二等奖 10
四等奖 10
四等奖 10
四等奖 10
四等奖 10
四等奖 10
三等奖 10
三等奖 10
三等奖 10
三等奖 10
五等奖 10
五等奖 10
五等奖 10
五等奖 10
五等奖 10
五等奖 10
合并后结果集如下:
SQL> select fplx, sum(jecg), sum(jehcg), sum(jecw), sum(jehcw)
from (select fplx, count(zjje) jecg, sum(zjje) jehcg, 0 jecw, 0 jehcw
from yw_zjfpjl
group by fplx
union all
select fplx, 0 jecw, 0 jehcw, count(zjje) jecw, sum(zjje) jehcw
from yw_fjcwjl
group by fplx)
group by fplx
order by fplx asc;
FPLX SUM(JECG) SUM(JEHCG) SUM(JECW) SUM(JEHCW)
----------- ----------- ----------- ---------- ------------
二等奖 6 150 6 150
三等奖 6 60 6 60
四等奖 6 60 6 60
五等奖 6 60 6 60
一等奖 6 210 6 210
sql语句如下:
select fplx, sum(jecg), sum(jehcg), sum(jecw), sum(jehcw)
from (select fplx, count(zjje) jecg, sum(zjje) jehcg, 0 jecw, 0 jehcw
from yw_zjfpjl
group by fplx
union all
select fplx, 0 jecw, 0 jehcw, count(zjje) jecw, sum(zjje) jehcw
from yw_fjcwjl
group by fplx)
group by fplx
order by fplx asc;