Tworzenie listy materiałów samochodu
W tym ćwiczeniu odpowiesz na pytanie: jakie poziomy hierarchii zajmują poszczególne komponenty budujące samochód?
Na przykład SUV (poziom 1.) składa się z silnika (poziom 2.) i nadwozia (poziom 2.), a nadwozie składa się z drzwi (poziom 3.) i maski (poziom 3.).
Twoim zadaniem jest napisanie zapytania, które pobierze poziom hierarchii z tabeli partList. Utwórz CTE o nazwie construction_Plan i śledź pozycję każdego komponentu w hierarchii. Uwzględnij wszystkie komponenty od poziomu 1 do poziomu 2.
To ćwiczenie jest częścią kursu
Hierarchiczne i rekurencyjne zapytania w SQL Server
Instrukcje do ćwiczenia
- Zdefiniuj
construction_Planz polami:PartID,SubPartID,Title,ComponentiLevel. - Zainicjuj pole
Levelwartością 1. - Zwiększaj
Levelo 1 w każdym kroku rekurencji. - Ogranicz liczbę kroków (
Level) do wartości mniejszej niż2.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- 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;