如:表table1有如下记录
    民族 
---------------
    汉族  
    枪族  
    回族 
    彝族  
现我想把它转换为
   汉族    枪族    回族    彝族请问怎么转换?

解决方案 »

  1.   

    select 
    sum(decode(a.民族,'汉族',a.人数,0)) as 汉族,
    sum(decode(a.民族,'枪族',a.人数,0)) as 枪族,
    sum(decode(a.民族,'回族',a.人数,0)) as 回族,
    sum(decode(a.民族,'彝族',a.人数,0)) as 彝族
     from table a
      

  2.   

    select 
    sum(decode(a.民族,'汉族',a.人数,0)) as 汉族,
    sum(decode(a.民族,'枪族',a.人数,0)) as 枪族,
    sum(decode(a.民族,'回族',a.人数,0)) as 回族,
    sum(decode(a.民族,'彝族',a.人数,0)) as 彝族
     from table a;
      

  3.   

    不定列行列转换
    这一类型的转换可能要借助于PL/SQL来完成
    没试过,从网上搜搜