gpt4 book ai didi

sql-server - 需要有关 SQL Server 2005 中递归的帮助

转载 作者:行者123 更新时间:2023-12-03 16:38:35 24 4
gpt4 key购买 nike

我在表中表示一棵树,并且我需要能够获取特定元素的根节点(TOP ID)。根节点的 ParentID 始终为 null。例如,如果表格如下所示:

ID   ParentID
1 null
2 null
3 null
4 2
5 1
6 2
7 6
8 4
9 8
10 6

ID=10时,TOP ID=2;当ID=9时,TOP ID=3;等等。是否可以编写一个 SQL 服务器函数,在给定 ID 时返回 TOP ID

最佳答案

这是一个来自存储过程的递归示例,它将找到给定存储过程的任何给定 ID - (@ID) 的父级(父级 ID = null)。这是您要找的吗?

    WITH recurseUp (ID, ParentID)
AS
(
SELECT ID, ParentID
FROM myTable
WHERE ID = @ID
UNION ALL
SELECT b.ID, b.ParentID
FROM recurseUp a JOIN myTable b
ON (a.ParentID = b.ID)
)
SELECT ID FROM recurseUP WHERE ParentID is null

关于sql-server - 需要有关 SQL Server 2005 中递归的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1222690/

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