select A_id, max(substr(sys_connect_by_path(name, '+'), 2)) name from (
select A_id, name, colc, lead(colc) over(partition by A_id order by colc) cold from (
select A_id, name, row_number() over(order by A_id, name) colc from B) )
start with cold is null
connect by prior colc=cold
group by A_id;