Assembler une BMW?
Dans cet exercice, vous répondrez à la question suivante : quelle est la quantité totale requise Total de chaque composant pour construire la voiture jusqu'au niveau 3 de la hiérarchie?
Votre tâche est de créer la CTE construction_Plan pour suivre le niveau des composants et calculer la quantité totale de composants dans le champ Total. La table comporte les champs PartID, SubPartID, Level, Component et Total. Vous devez prendre en compte tous les composants du niveau 1 au niveau 3.
Cette activité fait partie du cours
Requêtes hiérarchiques et récursives dans SQL Server
Instructions de l’exercice
- Définissez
construction_Planavec les champs nécessaires. - Initialisez
TotalavecQuantitydans l'élément d'ancrage de laCTE. - Augmentez
Totalavec laQuantityde l'élément enfant dans l'élément de récursion. - Utilisez
SUM()pour calculer la somme deTotalsur les informations agrégées selon les identifiants de la hiérarchie.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- 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;