Inizia subitoInizia gratis

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

Visualizza corso

Istruzioni dell'esercizio

  • Definisci construction_Plan con i campi: PartID, SubPartID, Title, Component e Level.
  • Inizializza il campo Level a 1.
  • Aumenta Level di 1 a ogni passo della ricorsione.
  • Limita il numero di passi (Level) a un valore minore di 2.

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