17,086
社区成员
发帖
与我相关
我的任务
分享
with test
as
(
select 1 as id , 0 as gid from dual
union all
select 2 as id , 1 as gid from dual
union all
select 3 as id , 0 as gid from dual
union all
select 4 as id , 0 as gid from dual
union all
select 5 as id , 2 as gid from dual
union all
select 6 as id , 2 as gid from dual
union all
select 7 as id , 3 as gid from dual
)
select * from
(
select sys_connect_by_path(id,'>') as level from test
start with id is not null connect by prior id = gid
)
where level like '%'||&value||'%'
value赋值 5
出来结果
---------------
>1>2>5
>2>5
>5