1. 表结构:CODE NAME C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 ILEVEL
2. 组成CODE NAME PARENTCODE
3. SQL语句
WITH
tree_data AS
(
SELECT
CODE,
NAME,
'0' AS PARENTCODE,
ILEVEL
FROM
table
WHERE
ILEVEL = 0
UNION ALL
SELECT
CODE,
NAME,
NVL(SUBSTR( CODE, 1, INSTR( CODE, '.', 1, ILEVEL ) - 1 ),0 ) AS PARENTCODE,
ILEVEL
FROM
table
WHERE
ILEVEL > 0
)
SELECT
CODE,
NAME,
PARENTCODE
FROM
tree_data START WITH ILEVEL = 0 CONNECT BY PRIOR CODE = PARENTCODE
4. (START WITH ILEVEL = 0) 从根目录查询,可追加条件
该文章描述了一种使用SQL语句从具有CODENAME和ILEVEL字段的表结构中构建树形数据的方法。通过WITH子句和STARTWITH及CONNECTBY条件,从根节点(ILEVEL=0)开始递归地连接父节点和子节点,以展示层级关系。

1669

被折叠的 条评论
为什么被折叠?



