with t as
(select '数据库管理组' name, '运维组' pname from dual
union all
select '运维组' name, '信息部' pname from dual
union all
select '信息部' name, '职能部' pname from dual
union all
select '职能部' name, '总裁办' pname from dual
union all
select '总裁办' name, '' pname from dual
union all
select '网络组' name, '运维组' pname from dual)
select listagg(t.name, ',') within group(order by level desc) as name
from t
start with t.name = '数据库管理组'
connect by prior t.pname = t.name |