Zmontuj BMW?
W tym ćwiczeniu odpowiesz na następujące pytanie: jaka jest łączna wymagana ilość Total każdego komponentu potrzebnego do zbudowania samochodu do poziomu 3 w hierarchii?
Twoim zadaniem jest utworzenie CTE construction_Plan, który będzie śledzić poziom komponentów i obliczać łączną liczbę komponentów w polu Total. Tabela składa się z pól PartID, SubPartID, Level, Component i Total. Uwzględnij wszystkie komponenty od poziomu 1 do poziomu 3.
To ćwiczenie jest częścią kursu
Hierarchiczne i rekurencyjne zapytania w SQL Server
Instrukcje do ćwiczenia
- Zdefiniuj
construction_Planz niezbędnymi polami. - Zainicjuj
TotalwartościąQuantityw elemencie bazowym CTE. - Zwiększaj
Totalo wartośćQuantityelementu podrzędnego w kroku rekurencji. - Użyj
SUM(), aby obliczyć sumęTotalna podstawie zagregowanych informacji o identyfikatorach w hierarchii.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- 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;