1、10g可以使用wm_concat 2、10g以下可以使用sys_connect_by_path,但是较麻烦,如: select max(ltrim(sys_connect_by_path(a, ','), ',')) a from (select a, rownum rn from a) connect by prior rn = rn - 1 start with rn = 1 3、还可以自定义一个类似函数来解决
select max(ltrim(sys_connect_by_path(a, ','), ',')) a from (select a, rownum rn from a) connect by prior rn = rn - 1 start with rn = 1这个可以!不知道性能如何? 和FOR LOOP 比较呢!?
应该用PIVOT 了,不过这个是要11G才可用的.
2、10g以下可以使用sys_connect_by_path,但是较麻烦,如:
select max(ltrim(sys_connect_by_path(a, ','), ',')) a
from (select a, rownum rn from a)
connect by prior rn = rn - 1
start with rn = 1
3、还可以自定义一个类似函数来解决
from (select a, rownum rn from a)
connect by prior rn = rn - 1
start with rn = 1这个可以!不知道性能如何? 和FOR LOOP 比较呢!?
wm_concat([distinct ]a)