我将如何只查询“只有叶节点”的记录 (即没有 child )?
我试过这样的查询:
select *
from TableA tt
where tt.HierarchyId.GetDescendant(null, null) not in
(
Select t.HierarchyId
from TableA t
)
但这似乎仍然返回一些有 child 的节点。
我正在使用内置的 hierarchyid 数据类型(ms sqlserver 的一部分)
最佳答案
SELECT A.HieracrchyId, A.HierarchyId.ToString()
FROM dbo.TableA AS A
LEFT OUTER JOIN dbo.TableA AS B
ON A.HierarchyId = B.HierarchyId.GetAncestor(1)
WHERE B.HierarchyId IS NULL;
关于sql-server - 使用 hierarchyid 查找所有叶节点记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10694894/