Postgreql中的递归查询-直到ROOT节点为止的递归查询

时间:2018-07-13 07:17:13

标签: sql postgresql recursive-query

我如何在POSTGRESQL中创建查询,该查询将对每个节点进行递归迭代:它应遍历其所有父节点,直到到达根节点为止。

我知道在Oracle中,我们可以使用CONNECT BY PRIOR和CONNECT_BY_ROOT来实现这一目标。

例如: 对于下表:

id Parent_id 1 NULL 2 1 3 2 4 3 5 3 6 5

查询应返回如下结果:

id parent_id 1 NULL 2 1 3 2 3 1 4 3 4 2 4 1 5 3 5 2 5 1 6 5 6 3 6 2 6 1

即它应该列出当前ID的直接父ID以及所有间接父ID。

已经有一些答案说明了如何在POSTGRESQL中创建树结构,但是当您提供特定的子节点时,这些答案才有效。在我的问题中,我想找出所有子节点直到根节点的父层次。根节点的父节点也应显示为NULL。

谢谢。

0 个答案:

没有答案