问题描述
嗨,汤姆,
我有这个数据
我在找一种方法
-递归id = 30的子id。
-id = 30的父id
我有这个数据
select 1 LineNumber, 1 mylevel, 10 id from dual union all select 2 , 2 , 11 from dual union all select 3 , 3 , 13 from dual union all select 4 , 3 , 14 from dual union all select 5 , 4 , 15 from dual union all select 6 , 2 , 20 from dual union all select 7 , 2 , 30 from dual union all select 8 , 3 , 31 from dual union all select 9 , 4 , 33 from dual union all select 10 , 3 , 32 from dual union all select 11 , 3 , 34 from dual union all select 12 , 4 , 35 from dual union all select 13 , 5 , 36 from dual
我在找一种方法
-递归id = 30的子id。
-id = 30的父id
专家解答
我不清楚你是如何定义父子关系的。要查找id 30的子级,必须有一列存储指向此父行的值。
没有具有30作为父值的行。所以我看不到哪些列形成父/子对。如果您所拥有的只是当前行的值及其级别,那么您将陷入困境!
一旦定义了父/子列,快速简便的方法是:
我在此视频中解释了如何更详细地编写分层查询:
没有具有30作为父值的行。所以我看不到哪些列形成父/子对。如果您所拥有的只是当前行的值及其级别,那么您将陷入困境!
一旦定义了父/子列,快速简便的方法是:
select * from ... start with id = 30 connect by prior id = parent_column_id
我在此视频中解释了如何更详细地编写分层查询:
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




