a1     a2                 a3
---------- ------------------ ----------
    10     12-JUL-07                   1
           13-JUL-07                   1
           14-JUL-07                   2
           15-JUL-07                   7
           16-JUL-07                   2
           17-JUL-07                   2
           18-JUL-07                   4
如何把上面的数据变成下边的格式10 1 1 2 7 2 2 4
就是把a3列变成在一行上谢谢!

解决方案 »

  1.   

    这是行转列,不是列转行
    http://atgc.itpub.net/post/22412/251110
    还可以利用decode
    google,搜索一把,例子多的是
      

  2.   

    参考一下这个例子:
    create table test(
    c1 number(3),
    c2 number(3),
    c3 varchar2(30)
    );insert into test
    select 1,11,'a' from dual
    union all
    select 1,12,'b' from dual
    union all
    select 1,13,'c' from dual
    union all
    select 1,14,'d' from dual
    union all
    select 1,15,'e' from dual;select c1,
           max(decode(c2, 11, c3)),
           max(decode(c2, 12, c3)),
           max(decode(c2, 13, c3)),
           max(decode(c2, 14, c3)),
           max(decode(c2, 15, c3))
      from test
     group by c1;
      

  3.   

    用decode函数就可以,可以参照yxiaowang(阿刀)的例子。
      

  4.   

    select a1,decode(a2, '12-JUL-07',a3), decode(a2, '13-JUL-07',a3), 
    decode(a2, '14-JUL-07',a3), decode(a2, '15-JUL-07',a3), 
    decode(a2, '16-JUL-07',a3), decode(a2, '17-JUL-07',a3), decode(a2, '18-JUL-07',a3) from table;