1
複製整個CONNECT BY分支我有兩個表輸出
node
-------------
id
name
edge
--------------
source_node_id
target_node_id
我也有一個CONNECT BY查詢
SELECT level,lpad(' ',4*(level)) || tn.name
FROM Node sn, Node tn, Edge e
where e.source_node_id = sn.id
and e.target_node_id = tn.id
start with e.source_node_id in (0)
connect by prior e.target_node_id = e.source_node_id
union
select 0, name
from Node n
where id in (0)
這個正確給出類似以下的輸出:
0 node1
1 node2
2 node3
2 node4
到現在爲止還挺好。現在我有一個要求,要爲每個葉子節點完整的層次 - 重複上面的節點,如果必要的......是這樣的:
0 node1
1 node2
2 node3
0 node1
1 node2
2 node4
我想也許SYS_CONNECT_BY_PATH - 但即使不能肯定。關於這種輸出的最優生成的任何想法?
請將您所提供的兩個表中的實際數據的樣本不錯。此外,如果您已經準備好[SQLFiddle](http://www.sqlfiddle.com/#!4),它會更好。 –