Maak een materiaallijst voor een auto
In deze oefening beantwoord je de volgende vraag: Wat zijn de niveaus van de verschillende onderdelen waaruit een auto is opgebouwd?
Een SUV (1e niveau) bestaat bijvoorbeeld uit een motor (2e niveau) en een carrosserie (2e niveau), en de carrosserie bestaat uit een deur (3e niveau) en een motorkap (3e niveau).
Je taak is om een query te maken die het hiërarchieniveau van de tabel partList ophaalt. Je moet de CTE construction_Plan maken en de positie van een onderdeel in de hiërarchie bijhouden. Houd alle onderdelen bij vanaf niveau 1 tot en met niveau 2.
Deze oefening maakt deel uit van de cursus
Hiërarchische en recursieve queries in SQL Server
Oefeninstructies
- Definieer
construction_Planmet de velden:PartID,SubPartID,Title,ComponentenLevel. - Initialiseer het veld
Levelop 1. - Verhoog
Levelmet 1 in elke recursiestap. - Beperk het aantal stappen (
Level) tot kleiner dan2.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
-- 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;