例如表中的数据是6行10列
如何变成10行6列???行列数是固定的

解决方案 »

  1.   

    用procedure,参考下列代码declare
      cursor csr is
        select distinct (km) from t;
      tmp_km varchar2(6);
      str    varchar2(4000);
    begin
      str := 'select name';
      open csr;
       loop fetch csr into tmp_km;
      exit when csr%notfound;
      str := str || ',sum(decode(km,' || chr(39) || tmp_km || chr(39) ||
             ',cj,0)) ' || tmp_km;
    end loop;
    str := str || ' from t group by name';
    dbms_output.put_line(str);
    execute immediate str;
    end;
      

  2.   

    看看俺的blog对你有帮助没
    http://blog.csdn.net/hunterzhao/archive/2005/07/25/434783.aspx