CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Définissez construction_Plan avec les champs nécessaires.
  • Initialisez Total avec Quantity dans l'élément d'ancrage de la CTE.
  • Augmentez Total avec la Quantity de l'élément enfant dans l'élément de récursion.
  • Utilisez SUM() pour calculer la somme de Total sur 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;
Modifier et exécuter le code