合并两个结果集-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;
 

创建时间:2022-04-02 15:06
浏览量:0