Stückliste für ein Auto erstellen
In dieser Übung beantwortest du die Frage: Welche Ebenen haben die verschiedenen Komponenten, aus denen ein Auto aufgebaut ist?
Zum Beispiel besteht ein SUV (1. Ebene) aus einem Motor (2. Ebene) und einer Karosserie (2. Ebene), und die Karosserie besteht aus einer Tür (3. Ebene) und einer Motorhaube (3. Ebene).
Deine Aufgabe ist es, eine Abfrage zu erstellen, um die Hierarchieebene der Tabelle partList zu ermitteln. Du musst die CTE construction_Plan erstellen und die Position einer Komponente in der Hierarchie nachverfolgen. Verfolge alle Komponenten ab Ebene 1 bis hinauf zu Ebene 2.
Diese Übung ist Teil des Kurses
Hierarchische und rekursive Abfragen in SQL Server
Anleitung zur Übung
- Definiere
construction_Planmit den Feldern:PartID,SubPartID,Title,ComponentundLevel. - Initialisiere das Feld
Levelmit 1. - Erhöhe
Levelin jedem Rekursionsschritt um 1. - Begrenze die Anzahl der Schritte (
Level) auf kleiner als2.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
-- 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;