id  v1 v2 v3 ...v96
1    2  4  5 ...  6
我要转成
id vindex v
1   1     2
1   2     4
1   3     5
.
.
.
1   96    6请问能直接转成视图嘛?或者通过存储过程?怎么写啊?

解决方案 »

  1.   

    for example:SQL> select * from test_tab;        ID         V1         V2         V3         V4         V5
    ---------- ---------- ---------- ---------- ---------- ----------
             1          2          3          5          8          4SQL> 
    SQL> select id,rn vindex,decode(rn,1,v1,2,v2,3,v3,4,v4,v5) v
      2  from (select * from test_tab,(select rownum rn from dual connect by rownum <= 5));        ID     VINDEX          V
    ---------- ---------- ----------
             1          1          2
             1          2          3
             1          3          5
             1          4          8
             1          5          4
      

  2.   

    楼主的语句可以写成:
    select id,rn vindex,decode(rn,1,v1,2,v2,3,v3,4,v4,v5,...,94,v94,95,v95,96,v96) v
    from (select * from your_table,(select rownum rn from dual connect by rownum <= 96))