ÎncepețiÎncepe gratuit

Creează lista de materiale a unei mașini

În acest exercițiu, vei răspunde la următoarea întrebare: Care sunt nivelurile diferitelor componente care alcătuiesc o mașină?

De exemplu, un SUV (nivelul 1) este compus dintr-un motor (nivelul 2) și o caroserie (nivelul 2), iar caroseria este formată dintr-o ușă (nivelul 3) și o capotă (nivelul 3).

Sarcina ta este să creezi o interogare care să determine nivelul ierarhic al tabelei partList. Trebuie să creezi CTE-ul construction_Plan și să urmărești poziția fiecărei componente în ierarhie. Urmărește toate componentele începând de la nivelul 1 până la nivelul 2.

Acest exercițiu face parte din cursul

Interogări ierarhice și recursive în SQL Server

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește construction_Plan cu câmpurile: PartID, SubPartID, Title, Component și Level.
  • Inițializează câmpul Level cu valoarea 1.
  • Mărește Level cu 1 la fiecare pas de recursivitate.
  • Limitează numărul de pași (Level) la valori mai mici decât 2.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

-- 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;
Editează și rulează codul