Zacznij terazZacznij za darmo

Zmontuj BMW?

W tym ćwiczeniu odpowiesz na następujące pytanie: jaka jest łączna wymagana ilość Total każdego komponentu potrzebnego do zbudowania samochodu do poziomu 3 w hierarchii?

Twoim zadaniem jest utworzenie CTE construction_Plan, który będzie śledzić poziom komponentów i obliczać łączną liczbę komponentów w polu Total. Tabela składa się z pól PartID, SubPartID, Level, Component i Total. Uwzględnij wszystkie komponenty od poziomu 1 do poziomu 3.

To ćwiczenie jest częścią kursu

Hierarchiczne i rekurencyjne zapytania w SQL Server

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj construction_Plan z niezbędnymi polami.
  • Zainicjuj Total wartością Quantity w elemencie bazowym CTE.
  • Zwiększaj Total o wartość Quantity elementu podrzędnego w kroku rekurencji.
  • Użyj SUM(), aby obliczyć sumę Total na podstawie zagregowanych informacji o identyfikatorach w hierarchii.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

-- 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;
Edytuj i uruchom kod