select 
  (select nd,yf,data from a where nd||yf=to_char(sysdate,'yyyymm'))当月数据,
 (select sum(data) from a 
    where to_char(to_date(nd||yf,'yyyymm'),'q')=to_char(sysdate,'q'))当季度数据累计,
(select sum(data) from a where nd=to_char(sysdate,'yyyy'))当年数据累计
from dual

解决方案 »

  1.   

    不好意思,有点纰漏
    select 
      (select nd 年份,yf 月份,data 当月数据 from a where nd||yf=to_char(sysdate,'yyyymm')),
     (select sum(data) from a 
        where to_char(to_date(nd||yf,'yyyymm'),'q')=to_char(sysdate,'q'))当季度数据累计,
    (select sum(data) from a where nd=to_char(sysdate,'yyyy'))当年数据累计
    from dual
      

  2.   

    select nd 年份,yf 月份,decode(nd||yf,to_char(sysdate,'yyyymm'),data,null) 当月数据,decode(to_char(to_date(nd||yf,'yyyymm'),'q')),to_char(sysdate,'q'),sum(date),null) 当年季度数据累计,decode(nd,to_char(sysdate,'yyyy'),sum(date),null) 当年数据累计 from table
      
      

  3.   

    sorry,应这样!select nd 年份,yf 月份,decode(nd||yf,to_char(sysdate,'yyyymm'),data) 当月数据,decode(to_char(to_date(nd||yf,'yyyymm'),'q')),to_char(sysdate,'q'),sum(date)) 当年季度数据累计,decode(nd,to_char(sysdate,'yyyy'),sum(date)) 当年数据累计 from table