Monter une BMW ?
Dans cet exercice, vous allez répondre à la question suivante : quelle est la quantité totale requise Total de chaque composant pour assembler la voiture jusqu’au niveau 3 de la hiérarchie ?
Votre tâche consiste à créer le CTE construction_Plan pour suivre le niveau des composants et calculer la quantité totale de composants dans le champ Total. La table est définie par les champs PartID, SubPartID, Level, Component et Total. Vous devez prendre en compte tous les composants du niveau 1 au niveau 3.
Cet exercice fait partie du cours
<cours>Requêtes hiérarchiques et récursives dans SQL Server</cours>Instructions de l’exercice
- Définissez
construction_Planavec les champs nécessaires. - Initialisez
TotalavecQuantitydans l’élément d’ancrage duCTE. - Augmentez
Totalavec laQuantityde l’élément enfant dans l’élément récursif. - Utilisez
SUM()pour calculer la somme deTotalsur les informations agrégées par 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;