ÎncepețiÎncepe gratuit

Asamblează un BMW?

În acest exercițiu, vei răspunde la următoarea întrebare: Care este cantitatea totală necesară Total din fiecare componentă pentru a construi mașina până la nivelul 3 din ierarhie?

Sarcina ta este să creezi CTE-ul construction_Plan pentru a urmări nivelul componentelor și a calcula cantitatea totală a acestora în câmpul Total. Tabelul este structurat pe câmpurile PartID, SubPartID, Level, Component și Total. Trebuie să iei în considerare toate componentele începând de la nivelul 1 până la nivelul 3.

Acest exercițiu face parte din cursul

Interogări ierarhice și recursive în SQL Server

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește construction_Plan cu câmpurile necesare.
  • Inițializează Total cu valoarea Quantity în elementul ancoră al CTE.
  • Mărește Total cu valoarea Quantity a elementului copil în elementul de recursivitate.
  • Folosește SUM() pentru a calcula suma lui Total pe baza informațiilor agregate după ID-urile din ierarhie.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

-- 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;
Editează și rulează codul