行转列的问题,你可以到论坛上搜索一下了,很多这方面的贴子!
   select time,type,sum(decode(obj,'ART',sum,0)) ART,sum(decode(substr(obj,1,2),'KA',sum,0)) KA,
   ...
 from table;

解决方案 »

  1.   

    select time,type,sum(decode(obj,'ART',num,Null)) ART,sum(decode(substr(obj,1,2),'KA',num,Null)) KA,sum(decode(substr(obj,1,2),'KB',num,Null)) KB,sum(decode(obj,'FRT',num,Null)) from T group by Type
    试试看行不行
      

  2.   

    select max(TIME),TYPE,rank() over(partition by ART),sum(decode(substr(OBJ,0,2),'kA',0,1)),
    sum(decode(substr(OBJ,0,2),'KB',0,1)),sum(decode(OBJ,'FRT',0,1)) from table
    group by type
      

  3.   

    select max(TIME),TYPE,sum(decode(OBJ,'ART',sum,0)),sum(decode(substr(OBJ,0,2),'kA',sum,0)),
    sum(decode(substr(OBJ,0,2),'KB',sum,0)),sum(decode(OBJ,'FRT',sum,0)) from table
    group by type