Montar um BMW?
Neste exercício, você vai responder à seguinte pergunta: qual é a quantidade total necessária Total de cada componente para montar o carro até o nível 3 na hierarquia?
Sua tarefa é criar a CTE construction_Plan para acompanhar o nível dos componentes e calcular a quantidade total de componentes no campo Total. A tabela é composta pelos campos PartID, SubPartID, Level, Component e Total. Você deve considerar todos os componentes do nível 1 até o nível 3.
Este exercício faz parte do curso
Consultas Hierárquicas e Recursivas no SQL Server
Instruções do exercício
- Defina
construction_Plancom os campos necessários. - Inicialize
TotalcomQuantityno elemento âncora daCTE. - Aumente
Totalcom aQuantitydo elemento filho no elemento recursivo. - Use
SUM()para criar a soma deTotalcom base nas informações agregadas pelos IDs da hierarquia.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
-- 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;