CommencerCommencez gratuitement

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>
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 du CTE.
  • Augmentez Total avec la Quantity de l’élément enfant dans l’élément récursif.
  • Utilisez SUM() pour calculer la somme de Total sur 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;
Modifier et exécuter le code