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
Istruzioni dell'esercizio
- Definisci
construction_Plancon i campi necessari. - Inizializza
TotalconQuantitynell’elemento di ancoraggio dellaCTE. - Aumenta
Totalcon laQuantitydell’elemento figlio nella parte ricorsiva. - Usa
SUM()per creare la somma diTotalsulle 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;