Crea la distinta base di un'auto
In questo esercizio risponderai alla seguente domanda: Quali sono i livelli dei diversi componenti che compongono un'auto?
Per esempio, un SUV (1º livello) è composto da un motore (2º livello) e una carrozzeria (2º livello), e la carrozzeria è composta da una portiera (3º livello) e un cofano (3º livello).
Il tuo compito è creare una query per ottenere il livello gerarchico della tabella partList. Devi creare la CTE construction_Plan e tenere traccia della posizione di un componente nella gerarchia. Tieni traccia di tutti i componenti a partire dal livello 1 fino al livello 2.
Questo esercizio fa parte del corso
Query gerarchiche e ricorsive in SQL Server
Istruzioni dell'esercizio
- Definisci
construction_Plancon i campi:PartID,SubPartID,Title,ComponenteLevel. - Inizializza il campo
Levela 1. - Aumenta
Leveldi 1 a ogni passo della ricorsione. - Limita il numero di passi (
Level) a un valore minore di2.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
-- Define CTE with the fields: PartID, SubPartID, Title, Component, Level
___ construction_Plan (___, ___,___, ___, ___) AS (
SELECT
PartID,
SubPartID,
Title,
Component,
-- Initialize the field Level
___
FROM partList
WHERE PartID = '1'
UNION ALL
SELECT
CHILD.PartID,
CHILD.SubPartID,
CHILD.Title,
CHILD.Component,
-- Increment the field Level each recursion step
PARENT.___ + ___
FROM construction_Plan PARENT, partList CHILD
WHERE CHILD.SubPartID = PARENT.PartID
-- Limit the number of iterations to Level < 2
AND PARENT.___ < ___)
SELECT DISTINCT PartID, SubPartID, Title, Component, Level
FROM construction_Plan
ORDER BY PartID, SubPartID, Level;