表结构 id p_id(上级id)
2 1
3 1
4 2
5 3
6 7
8 7
我现在想得出所有 id的和 第一级根节点的对应关系 如下图1 2
1 3
1 4
1 5
7 6
7 8求助 在oracle10g sql该怎么写。
2 1
3 1
4 2
5 3
6 7
8 7
我现在想得出所有 id的和 第一级根节点的对应关系 如下图1 2
1 3
1 4
1 5
7 6
7 8求助 在oracle10g sql该怎么写。
where CONNECT_BY_ISLEAF=1
START WITH h.id=e.id
CONNECT BY PRIOR h.p_id = h.id) p_id
FROM 你的表 e
order by p_id
以上可以实现你举得这个例子
有 所有一级节点的 上级节点都是‘ZZZ’
SELECT e.id,(select h.id FROM 你的表 h
where h.p_id='ZZZ'
START WITH h.id=e.id
CONNECT BY PRIOR h.p_id = h.id) p_id
FROM 你的表 e
order by p_id