连接多行数据

来源:互联网 发布:用户画像需要哪些数据 编辑:程序博客网 时间:2024/04/30 15:47

create table test(
root_id number,
MC varchar2(10)
);

ID MC
---------- -------------
1 11111
1 22222
2 11111
2 22222
3 11111
3 22222
3 33333
select * from test for update

select root_id,ltrim(max(sys_connect_by_path(mc,',')),',') row2col
from (select root_id,mc,
root_id+(row_number() over(order by root_id)) node_id,
row_number() over(partition by root_id order by root_id) rn
from test)
start with rn = 1
connect by node_id-1 = prior node_id
group by root_id
order by root_id;


ID ROW2COL
---------- -----------------------------------------------------------
1 11111,22222
2 11111,22222
3 11111,22222,33333