假设我有以下树:
CREATE TABLE Tree(Id int, ParentId int, Name varchar(20), Level int)
INSERT INTO Tree(Id, ParentId, Name, Level)
SELECT 1, NULL, 'Bob', 0 UNION ALL
SELECT 2, 1, 'John', 1 UNION ALL
SELECT 3, 1, 'Bill', 1 UNION ALL
SELECT 4, 3, 'Peter', 2 UNION ALL
SELECT 5, 4, 'Sarah', 3
我需要一个脚本来在特定级别找到给定节点的祖先:
例如,Sarah 在级别 2 的祖先是 Peter,而 Peter 在级别 0 的祖先是 Bob。
有没有一种简单的方法可以使用分层 CTE 来做到这一点?sqlfiddle