How would I go about querying for only records that are "only leaf nodes" (ie. no children)?
I have tried a query like this:
select *
from TableA tt
where tt.HierarchyId.GetDescendant(null, null) not in
(
Select t.HierarchyId
from TableA t
)
But this still seemed to return some nodes that had children.
I am using the built-in hierarchyid data type (part of 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;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With