1
我有1個表,它是指按值的行中相同的表的Oracle SQL索引行上按/父行
實施例的表:
ID PARENT_ID NAME
1 0 john
2 1 jane
3 2 smigy
4 2 gujo
5 1 duby
6 1 ruby
7 5 foo
8 2 bar
9 3 baz
10 3 qux
根母體具有父0 (只是所以它不會爲空),在這種情況下,有
- 1 root-parent-parent(0)= 1。
- 根 - 父母有1lvl孩子 - 父母(1)= 2; 5; 6。父母(2)= 3; 4; 8 1lvl孩子有2lvl孩子 - 父母(2)= 3; 4; 8。母體(5)= 7。父母(6)什麼也沒有。 2lvl兒童有3lvl兒童 - 父母(3)= 9; 10。父母(4)沒有任何東西。父母(8)什麼也沒有。
- 沒有LVL4孩子或深度任何超越4
,我需要創建一個腳本 - 這將基於索引行(大概SQL查詢。需要避免功能/程序/等),其在他們父母的位置。 就像如果我選擇所有根父母,並得到(ROWNUM-1)
目標表應該是這樣的:
ID PARENT_ID NAME ROW_INDEX
1 0 john 0
2 1 jane 0
3 2 smigy 0
4 2 gujo 1
5 1 duby 1
6 1 ruby 2
7 5 foo 0
8 2 bar 2
9 3 baz 0
10 3 qux 1
我刨加入此列,因此查詢將只執行一次。我通過選擇單獨的深度排來玩,但是我並不真正知道如何計算組內/組間(即使這是可能的)。
P.S.更好/好的專欄名稱建議也將非常感激。