如何使用sql定义层次结构中的级别数?

时间:2017-06-20 13:30:50

标签: sql oracle hierarchy

我的情况如下。我有一个包含产品层次结构的表。下表是数据集的摘录:

child    parent
  1        2
  2        3
  4        5
  6        7

我想添加一个包含层次结构深度(子)的列。如下:

child    parent   depth
  1        2        2
  2        3        1
  4        5        1
  6        7        1

我将如何在oracle中执行此操作?谢谢!

1 个答案:

答案 0 :(得分:5)

类似的东西:

SELECT child, parent, level
FROM   your_table
START WITH parent NOT IN ( SELECT child FROM your_table )
CONNECT BY parent = PRIOR child;

输出:

CHILD PARENT LEVEL
----- ------ -----
    1      2     2
    2      3     1
    4      5     1
    6      7     1