Einen BMW zusammenbauen?
In dieser Übung beantwortest du folgende Frage: Wie groß ist die insgesamt benötigte Menge Total jeder Komponente, um das Auto bis Ebene 3 in der Hierarchie zu bauen?
Deine Aufgabe ist es, die CTE construction_Plan zu erstellen, um die Ebene der Komponenten nachzuverfolgen und die Gesamtmenge der Komponenten im Feld Total zu berechnen. Die Tabelle ist durch die Felder PartID, SubPartID, Level, Component und Total aufgebaut. Du sollst alle Komponenten von Ebene 1 bis einschließlich Ebene 3 berücksichtigen.
Diese Übung ist Teil des Kurses
Hierarchische und rekursive Abfragen in SQL Server
Anleitung zur Übung
- Definiere
construction_Planmit den benötigten Feldern. - Initialisiere
Totalim Ankerelement derCTEmit derQuantity. - Erhöhe
Totalim Rekursionselement um dieQuantitydes Kindelements. - Verwende
SUM(), um die Summe vonTotalüber die aggregierten Informationen zu den IDs der Hierarchie zu bilden.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
-- 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;