行列互转下面这个函数最简单,虽然是多行转一列,但正是我要的结果。感觉有点象字符类型的sum函数,哈哈。(直接从别人的贴在粘贴过来的哈。);sys_context的用法学习了。
SQL> create table test(c1 varchar2(10),c2 number);
Table created
SQL> insert into test values('A',80);
1 row inserted
SQL> insert into test values('B',70);
1 row inserted
SQL> insert into test values('C',80);
1 row inserted
SQL> insert into test values('D',60);\
1 row inserted
SQL> insert into test values('E',70);
1 row inserted
SQL> commit;
Commit complete
SQL> select * from test;
C1 C2
---------- ----------
A 80
B 70
C 80
D 60
E 70
SQL> select WMSYS.WM_CONCAT(c1),c2 from test group by c2;
WMSYS.WM_CONCAT(C1) C2
-------------------------------------------------------------------------------- ----------
D 60
B,E 70
A,C 80
SQL>
SQL> create table test(c1 varchar2(10),c2 number);
Table created
SQL> insert into test values('A',80);
1 row inserted
SQL> insert into test values('B',70);
1 row inserted
SQL> insert into test values('C',80);
1 row inserted
SQL> insert into test values('D',60);\
1 row inserted
SQL> insert into test values('E',70);
1 row inserted
SQL> commit;
Commit complete
SQL> select * from test;
C1 C2
---------- ----------
A 80
B 70
C 80
D 60
E 70
SQL> select WMSYS.WM_CONCAT(c1),c2 from test group by c2;
WMSYS.WM_CONCAT(C1) C2
-------------------------------------------------------------------------------- ----------
D 60
B,E 70
A,C 80
SQL>