Interogări ierarhice și recursive în SQL Server
Jasmin Ludolf
Content Developer
familyTree este descris prin:
ID al persoaneiName al persoaneiparentID ID-ul părinteluiElementele care descriu ierarhia:
IDparentID
Rețineți principiile despre CTE-urile recursive:
Rețineți principiile de funcționare:
Obțineți numărul de generații
Definiți LEVEL
-- Anchor member
0 as LEVEL
-- Recursive member
LEVEL + 1
Numărați nivelurile pentru a obține generații COUNT(LEVEL)
Generations:
100
Obțineți toți părinții posibili într-un singur câmp
-- 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 |
+---------------------------------------------+
Interogări ierarhice și recursive în SQL Server