gpt4 book ai didi

sql - 通用递归sql查询

转载 作者:搜寻专家 更新时间:2023-10-30 22:00:42 24 4
gpt4 key购买 nike

如果有一个表有2列,ParentId和ChildId,并且可以有多个级别,如下表

ParentId    ChildId
-1 1
-1 2
1 3
3 4
4 5

如果 child 没有 parent ,则用 -1 表示。

现在,如果我需要最顶层的父级来表示 5,那么它的父级是 4,而父级是 3,而父级是 1。所以 1 是其父级 = -1 的答案。

我在 Sql server CTE and recursion example 中进行了讨论, 看起来很复杂。

通过谷歌搜索我知道我们可以使用 WITH AS 和 UNION 来实现这一点,任何人都可以阐明可以得到这个结果的通用 sql 吗?

谢谢

诺西布

最佳答案

select connect_by_root(ChildId) as id
from t
where ChildId = 5
start with ParentId = -1
connect by ParentId = prior ChildId

fiddle

关于sql - 通用递归sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15536039/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com