ПочатиПочніть безкоштовно

Зібрати BMW?

У цій вправі ви дасте відповідь на запитання: якою є загальна потрібна кількість Total кожної комплектувальної деталі, щоб зібрати автомобіль до 3 рівня в ієрархії?

Ваше завдання — створити CTE construction_Plan, щоб відстежувати рівень компонентів і обчислювати загальну кількість компонентів у полі Total. Таблиця має поля PartID, SubPartID, Level, Component і Total. Вам потрібно врахувати всі компоненти, починаючи з рівня 1 і до рівня 3.

Ця вправа є частиною курсу

Ієрархічні та рекурсивні запити в SQL Server

Переглянути курс

Інструкції до вправи

  • Визначте construction_Plan з потрібними полями.
  • Ініціалізуйте Total значенням Quantity в опорному елементі CTE.
  • Збільшуйте Total на Quantity дочірнього елемента в рекурсивному елементі.
  • Використайте SUM() для підсумовування Total за агрегованою інформацією за ідентифікаторами ієрархії.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

-- 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;
Редагувати та запускати код