关键我不明白
地区         A类
地区a        100     
地区B        100  
....          ...为什么地区A.B的A类都是100呢?
楼主写的是否正确?

解决方案 »

  1.   

    create table A
    (
      ADDR VARCHAR2(2),
      ID   VARCHAR2(2),
      NUM  NUMBER
    )insert into A values ('A','A',100)
    insert into A values ('A','B',100)
    insert into A values ('A','C',100)
    insert into A values ('A','A',100)
    insert into A values ('B','A',200)
    insert into A values ('B','C',100)select '全省总计' as addr ,sum(decode(ID,'A',num,0)),sum(decode(ID,'A',ra,0)),
    sum(decode(ID,'B',num,0)),sum(decode(ID,'B',ra,0)),
    sum(decode(ID,'C',num,0)),sum(decode(ID,'C',ra,0))
    from(
    select a.*,RATIO_TO_REPORT(num) over () as ra from a) 
    union all
    select addr,sum(decode(ID,'A',num,0)),sum(decode(ID,'A',ra,0)),
    sum(decode(ID,'B',num,0)),sum(decode(ID,'B',ra,0)),
    sum(decode(ID,'C',num,0)),sum(decode(ID,'C',ra,0)) from(
    select a.*,RATIO_TO_REPORT(num) over (partition by addr) as ra from a) group by addr
      

  2.   

    to liuyi8903(风继续吹) :
    地区A.B的A类实际是不同值的。我为了方便就吧数据拷贝了。不好意思。
    还请指教。多谢!