Hierarchical and Recursive Queries in SQL Server
Jasmin Ludolf
Content Developer
The familyTree
is described by:
ID
of the personName
of the personparentID
the ID of the parentThe elements describing the hierarchy:
ID
parentID
Remember the following principles about recursive CTEs:
Remember the following working principles:
Get the number of generations
Define the LEVEL
-- Anchor member
0 as LEVEL
-- Recursive member
LEVEL + 1
Count the number of LEVELS to get generations COUNT(LEVEL)
Generations:
100
Get all possible parents in one field
-- Anchor member
CAST(ID AS VARCHAR(MAX)) as Parent
-- Recursive member
Parent + ' -> ' + CAST(parentID AS VARCHAR(MAX))
+---------------------------------------------+
| Name | Parent |
|-----------------|---------------------------|
|Dominik Egarter | 100 -> 101 -> 102 ->103 |
+---------------------------------------------+
Hierarchical and Recursive Queries in SQL Server