Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Definieer construction_Plan met de velden: PartID, SubPartID, Title, Component en Level.
  • Initialiseer het veld Level op 1.
  • Verhoog Level met 1 in elke recursiestap.
  • Beperk het aantal stappen (Level) tot kleiner dan 2.

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;
Code bewerken en uitvoeren