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.更好/好的专栏名称建议也将非常感激。