查找层次结构中的最低级别

时间:2014-02-21 19:05:40

标签: sql sql-server sql-server-2008

我需要找到层次结构中的最低级别,如下所示:

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

我希望得到以下回复:

4,5,6,7,8,10

所以基本上我会得到不是列表中任何其他内容的parentID的级别。我正在考虑使用递归CTE来做到这一点,但我不知道如何解决这个问题。

我确实有一个递归的CTE在这棵树上上下移动,但我不知道怎么说这些是最低级别

1 个答案:

答案 0 :(得分:6)

没有理由进行任何类型的递归CTE。

SELECT ID
FROM myTable
EXCEPT
SELECT ParentID
FROM myTable