最近朋友问一sql问题,sql的递推查询,不可以用函数,只能是纯sql,弄了一上午,只能通过oracle的函数来弄,想出不别的办法了,有感兴趣的朋友可以一起研究下。
下面是我的方法
创建表
create table T1
(
ID NUMBER,
PID NUMBER
)
表中数据
id pid
1 0
2 1
3 1
4 2
5 4
6 5
7 6
8 5
sql语句
select pid, id from t1 start with pid='4' connect by prior id=pid
根据父id(pid),查出下面的无限级的子id,前提是不知道有多少级
输出结果
id pid
5 4
6 5
7 6
8 5