Kom igångKom igång gratis

Skapa en strukturlista för en bil

I den här övningen ska du besvara följande fråga: Vilka nivåer tillhör de olika komponenterna som bygger upp en bil?

Till exempel: en SUV (nivå 1) består av en motor (nivå 2) och en kaross (nivå 2), och karossen består av en dörr (nivå 3) och ett motorhuv (nivå 3).

Din uppgift är att skapa en fråga som hämtar hierarkinivån för tabellen partList. Du ska skapa CTE:n construction_Plan och hålla reda på positionen för varje komponent i hierarkin. Inkludera alla komponenter från nivå 1 upp till och med nivå 2.

Den här övningen är en del av kursen

Hierarkiska och rekursiva frågor i SQL Server

Visa kurs

Övningsinstruktioner

  • Definiera construction_Plan med fälten: PartID, SubPartID, Title, Component och Level.
  • Initiera fältet Level till 1.
  • Öka Level med 1 för varje rekursionssteg.
  • Begränsa antalet steg (Level) till mindre än 2.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

-- 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;
Redigera och kör kod