Analýza rodokmenu

Hierarchical and Recursive Queries in SQL Server

Jasmin Ludolf

Content Developer

Rodokmen

familyTree je popsán:

  • ID osoby
  • Name osoby
  • parentID ID rodiče

Prvky popisující hierarchii:

  • ID
  • parentID

Obrázek rodokmenu

Hierarchical and Recursive Queries in SQL Server

Vše dohromady

Zásady rekurzivních CTE:

  • Inicializujte rekurzi v kotevním členu
  • Implementujte rekurzivní funkci v rekurzivním členu
  • Definujte podmínku ukončení

Pracovní principy:

  • Získejte úroveň rekurze
  • Kombinujte výsledky rekurze do jednoho pole
Hierarchical and Recursive Queries in SQL Server

Dotazy na rodokmen

Zjistěte počet generací

  • Definujte LEVEL

    -- Anchor member
    0 as LEVEL
    -- Recursive member
    LEVEL + 1
    
  • Spočítejte počet úrovní pro generace COUNT(LEVEL)

Generations:
100
Hierarchical and Recursive Queries in SQL Server

Dotazy na rodokmen

Získejte všechny možné rodiče v jednom poli

  • Kombinujte výsledky rekurze do jednoho pole
    -- 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

Pojďme zkontrolovat rodokmen!

Hierarchical and Recursive Queries in SQL Server

Preparing Video For Download...