Vytvoření kusovníku auta
V tomto cvičení odpovíš na následující otázku: Na jakých úrovních hierarchie se nacházejí jednotlivé součástky, ze kterých se skládá auto?
Například SUV (1. úroveň) se skládá z motoru (2. úroveň) a karoserie (2. úroveň), přičemž karoserie se skládá z dveří (3. úroveň) a kapoty (3. úroveň).
Tvým úkolem je vytvořit dotaz, který zjistí úroveň hierarchie pro každý záznam v tabulce partList. Vytvoř CTE construction_Plan a sleduj pozici každé součástky v hierarchii. Zahrň všechny součástky od úrovně 1 až po úroveň 2.
Toto cvičení je součástí kurzu
Hierarchical and Recursive Queries in SQL Server
Pokyny k cvičení
- Definuj
construction_Plans poli:PartID,SubPartID,Title,ComponentaLevel. - Inicializuj pole
Levelhodnotou 1. - V každém kroku rekurze zvyš
Levelo 1. - Omezte počet kroků (
Level) tak, aby byl menší než2.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
-- Define CTE with the fields: PartID, SubPartID, Title, Component, Level
___ construction_Plan (___, ___,___, ___, ___) AS (
SELECT
PartID,
SubPartID,
Title,
Component,
-- Initialize the field Level
___
FROM partList
WHERE PartID = '1'
UNION ALL
SELECT
CHILD.PartID,
CHILD.SubPartID,
CHILD.Title,
CHILD.Component,
-- Increment the field Level each recursion step
PARENT.___ + ___
FROM construction_Plan PARENT, partList CHILD
WHERE CHILD.SubPartID = PARENT.PartID
-- Limit the number of iterations to Level < 2
AND PARENT.___ < ___)
SELECT DISTINCT PartID, SubPartID, Title, Component, Level
FROM construction_Plan
ORDER BY PartID, SubPartID, Level;