3,491
社区成员
发帖
与我相关
我的任务
分享
select *
from (select level as lv,
rpad(' ', level * 2, ' ') ||
ltrim(sys_connect_by_path(SUB_TABLE.rn, '-'), '-') as path,
connect_by_isLeaf AS isLeaf
from (
select rn, lag(rn) over(order by rn) next
from (select 'A' || rownum rn from dual connect by rownum < 5)
union all
select rn, lag(rn, 1, 'A1') over(order by rn) next
from (select 'A1' || rownum rn
from dual
connect by rownum < 5)
union all
select rn, lag(rn) over(order by rn) next
from (select 'B' || rownum rn
from dual
connect by rownum < 10)
union all
select rn, lag(rn) over(order by rn) next
from (select 'C' || rownum rn from dual connect by rownum < 8)) sub_table
start with sub_table.next is null
connect by prior sub_table.rn = sub_table.next) TABLEA
;