Aan de slagGa gratis aan de slag

Een BMW opbouwen?

In deze oefening beantwoord je de volgende vraag: Wat is de totale benodigde hoeveelheid Total van elk onderdeel om de auto tot en met niveau 3 in de hiërarchie te bouwen?

Je taak is om de CTE construction_Plan te maken om het niveau van onderdelen bij te houden en om de totale hoeveelheid onderdelen in het veld Total te berekenen. De tabel bestaat uit de velden PartID, SubPartID, Level, Component en Total. Je moet alle onderdelen meenemen vanaf niveau 1 tot en met niveau 3.

Deze oefening maakt deel uit van de cursus

Hiërarchische en recursieve queries in SQL Server

Cursus bekijken

Oefeninstructies

  • Definieer construction_Plan met de benodigde velden.
  • Initialiseer Total met Quantity in het ankerdeel van de CTE.
  • Verhoog Total met de Quantity van het kindelement in het recursieve deel.
  • Gebruik SUM() om de som van Total te maken op de geaggregeerde informatie over ID’s in de hiërarchie.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

-- Define CTE with the fields: PartID, SubPartID, Level, Component, Total
WITH ___ (___, ___, ___, ___, ___) AS (
	SELECT 
  		PartID,SubPartID,
  		0,
  		Component,
  		-- Initialize Total
  		___
	FROM partList
	WHERE PartID = '1'
	UNION ALL
	SELECT 
		CHILD.PartID, CHILD.SubPartID,
  		PARENT.Level + 1,
  		CHILD.Component,
  		-- Increase Total by the quantity of the child element
  		PARENT.___ + CHILD.___
	FROM construction_Plan PARENT, partList CHILD
  	WHERE CHILD.SubPartID = PARENT.PartID
	  AND PARENT.Level < 3)
      
SELECT 
    PartID, SubPartID,Component,
    -- Calculate the sum of total on the aggregated information
    ___(___)
FROM construction_Plan
GROUP BY PartID, SubPartID, Component
ORDER BY PartID, SubPartID;
Code bewerken en uitvoeren