sql

 

select bxdw,
       (zje - tpzje) pk,
       tpfy,
       (sm - tpsm) yx,
       tpsm,
       (zje - tpzje + tpfy) zje
  from (select bxdw,
               sum(zjje) zje,
               sum(decode(sftp, 1, zjje, 0)) tpzje,
               sum(tpfy) tpfy,
               count(*) sm,
               nvl((select count(*)
                     from CWXT_JPDG_B_YDXX
                    where sftp = 1
                      and bxdw = ydxx.bxdw),
                   0) tpsm
          from CWXT_JPDG_B_YDXX ydxx
         group by ydxx.bxdw)

 其中sql的 decode函数 decode(sftp,1,zjje,0) 意思为如果sftp 的值为1 则返回字段 zjje ,否则返回0;

nvl 函数 nvl(xxx,0) 意思为 将需要的字段 或者查询出来的数据 xxx 转化为一个数值;

 

你可能感兴趣的:(java)