select 外键ID, ltrim(max(sys_connect_by_path(name,',')),',') temp_name from (select
外键ID,
name,
row_number() over(partition by 外键IDorder by 外键ID, name) rank
from table)
start with rank=1
connect by rank - 1 = prior rank
and 外键ID= prior 外键ID
group by 外键ID
合并之前数据如下:
外键ID name
001 AAA
001 BBB
001 CCC
002 DDD
002 EEE
合并之后数据如下:
外键Id temp_name
001 AAA,BBB,CCC
002 DDD,EEE