|
WITH n AS (
SELECT 1212 t,1 t1, 2 t2,1 t3, 2 t4 FROM dual UNION ALL
SELECT 1232 t,1 t1, 2 t2,3 t3, 2 t4 FROM dual UNION ALL
SELECT 1234 t,1 t1, 2 t2,3 t3, 4 t4 FROM dual UNION ALL
SELECT 2121 t,2 t1, 1 t2,2 t3, 1 t4 FROM dual UNION ALL
SELECT 2123 t,2 t1, 1 t2,2 t3, 3 t4 FROM dual UNION ALL
SELECT 2321 t,2 t1, 3 t2,2 t3, 1 t4 FROM dual UNION ALL
SELECT 2323 t,2 t1, 3 t2,2 t3, 3 t4 FROM dual UNION ALL
SELECT 2343 t,2 t1, 3 t2,4 t3, 3 t4 FROM dual UNION ALL
SELECT 3212 t,3 t1, 2 t2,1 t3, 2 t4 FROM dual UNION ALL
SELECT 3232 t,3 t1, 2 t2,3 t3, 2 t4 FROM dual UNION ALL
SELECT 3234 t,3 t1, 2 t2,3 t3, 4 t4 FROM dual UNION ALL
SELECT 3432 t,3 t1, 4 t2,3 t3, 2 t4 FROM dual UNION ALL
SELECT 3434 t,3 t1, 4 t2,3 t3, 4 t4 FROM dual UNION ALL
SELECT 4321 t,4 t1, 3 t2,2 t3, 1 t4 FROM dual UNION ALL
SELECT 4323 t,4 t1, 3 t2,2 t3, 3 t4 FROM dual UNION ALL
SELECT 4343 t,4 t1, 3 t2,4 t3, 3 t4 FROM dual
),n1 AS (
SELECT LEVEL lv,
connect_by_root(n.t) root,
sys_connect_by_path(n.t, '/') path1,
sys_connect_by_path(n.t4, '/') path2
FROM n
CONNECT BY nocycle(PRIOR t2 = t1
AND PRIOR t3 = t2
AND PRIOR t4 = t3) START WITH t=1212
)
SELECT * FROM n1
结果如下:
我红色框标出来的 后面不是应该至少还可以叫 4343 么?
为什么结果没有呀?
各位高手帮我看下,看什么问题?
oracle版本:10.2.0.3
|
|