Crea la lista de materiales de un coche
En este ejercicio, vas a responder a la siguiente pregunta: ¿Cuáles son los niveles de los distintos componentes que forman un coche?
Por ejemplo, un SUV (nivel 1) está compuesto por un motor (nivel 2) y una carrocería (nivel 2), y la carrocería incluye una puerta (nivel 3) y un capó (nivel 3).
Tu tarea es crear una consulta para obtener el nivel jerárquico de la tabla partList. Tienes que crear la CTE construction_Plan y llevar el control de la posición de cada componente en la jerarquía. Haz el seguimiento de todos los componentes empezando en el nivel 1 y llegando hasta el nivel 2.
Este ejercicio forma parte del curso
Consultas jerárquicas y recursivas en SQL Server
Instrucciones del ejercicio
- Define
construction_Plancon los campos:PartID,SubPartID,Title,ComponentyLevel. - Inicializa el campo
Levela 1. - Incrementa
Levelen 1 en cada paso de recursión. - Limita el número de pasos (
Level) a menor que2.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
-- 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;