Створіть специфікацію складу автомобіля (bill of materials)
У цій вправі ви відповісте на запитання: Які рівні мають різні компоненти, з яких складається автомобіль?
Наприклад, SUV (1-й рівень) складається з двигуна (2-й рівень) і кузова (2-й рівень), а кузов складається з дверей (3-й рівень) та капота (3-й рівень).
Ваше завдання — створити запит, щоб отримати рівень ієрархії таблиці partList. Вам потрібно створити CTE construction_Plan і відстежувати позицію компонента в ієрархії. Відстежте всі компоненти, починаючи з рівня 1 і до рівня 2.
Ця вправа є частиною курсу
Ієрархічні та рекурсивні запити в SQL Server
Інструкції до вправи
- Визначте
construction_Planз полями:PartID,SubPartID,Title,ComponentіLevel. - Ініціалізуйте поле
Levelзначенням 1. - Збільшуйте
Levelна 1 на кожному кроці рекурсії. - Обмежте кількість кроків (
Level) значенням менше ніж2.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
-- Define CTE with the fields: PartID, SubPartID, Title, Component, Level
___ construction_Plan (___, ___,___, ___, ___) AS (
SELECT
PartID,
SubPartID,
Title,
Component,
-- Initialize the field Level
___
FROM partList
WHERE PartID = '1'
UNION ALL
SELECT
CHILD.PartID,
CHILD.SubPartID,
CHILD.Title,
CHILD.Component,
-- Increment the field Level each recursion step
PARENT.___ + ___
FROM construction_Plan PARENT, partList CHILD
WHERE CHILD.SubPartID = PARENT.PartID
-- Limit the number of iterations to Level < 2
AND PARENT.___ < ___)
SELECT DISTINCT PartID, SubPartID, Title, Component, Level
FROM construction_Plan
ORDER BY PartID, SubPartID, Level;