¿Montar un BMW?
En este ejercicio responderás a la siguiente pregunta: ¿Cuál es la cantidad total requerida Total de cada componente para construir el coche hasta el nivel 3 en la jerarquía?
Tu tarea es crear la CTE construction_Plan para seguir el nivel de los componentes y calcular la cantidad total de componentes en el campo Total. La tabla está configurada con los campos PartID, SubPartID, Level, Component y Total. Tienes que tener en cuenta todos los componentes desde el nivel 1 hasta el nivel 3.
Este ejercicio forma parte del curso
Consultas jerárquicas y recursivas en SQL Server
Instrucciones del ejercicio
- Define
construction_Plancon los campos necesarios. - Inicializa
TotalconQuantityen el elemento ancla de laCTE. - Incrementa
Totalcon laQuantitydel elemento hijo en el elemento recursivo. - Usa
SUM()para obtener la suma deTotalsobre la información agregada en los IDs de la jerarquía.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
-- 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;