Inizia subitoInizia gratis

Montare una BMW?

In questo esercizio risponderai alla seguente domanda: qual è la quantità totale richiesta Total di ciascun componente per costruire l’auto fino al livello 3 della gerarchia?

Il tuo compito è creare la CTE construction_Plan per tracciare il livello dei componenti e calcolare la quantità totale dei componenti nel campo Total. La tabella è composta dai campi PartID, SubPartID, Level, Component e Total. Devi considerare tutti i componenti dal livello 1 fino al livello 3.

Questo esercizio fa parte del corso

Query gerarchiche e ricorsive in SQL Server

Visualizza corso

Istruzioni dell'esercizio

  • Definisci construction_Plan con i campi necessari.
  • Inizializza Total con Quantity nell’elemento di ancoraggio della CTE.
  • Aumenta Total con la Quantity dell’elemento figlio nella parte ricorsiva.
  • Usa SUM() per creare la somma di Total sulle informazioni aggregate sugli ID della gerarchia.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

-- 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;
Modifica ed esegui il codice