Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj construction_Plan z polami: PartID, SubPartID, Title, Component i Level.
  • Zainicjuj pole Level wartością 1.
  • Zwiększaj Level o 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;
Edytuj i uruchom kod