Oracle SQL:使用层次结构查询查找子项的父项

时间:2018-01-06 18:26:13

标签: sql oracle

我的目的是找到最顶层的父ID,并将该id分配给该树下的所有子项。例如

LOSER     WINNER
 1          2
 2          3
 3          4
 5          7
 6          7

我的输出应如下所示

LOSER        WINNER
  1            4
  2            4
  3            4
  5            7
  6            7

1 个答案:

答案 0 :(得分:1)

这是一种方法。也许不是效率最高的(使用START WITH子句可以提高效率并在树上运行而不是向上运行,但是因为您没有将树的“根”作为{{1}的行} loser null,它只是有点复杂)。如果您没有很多要处理的输入数据,这可能就足够了。

请注意,winner条款不是“查询”的一部分;相反,我只使用它,以便我可以在代码中找到测试数据(而不是创建一个表并插入其中)。

with