開始使用免費開始

建立汽車的材料清單

在這個練習中,你要回答:組成一輛車的各個元件,各自位於哪一個階層?

例如,SUV(第 1 層)由引擎(第 2 層)與車身(第 2 層)組成;車身則由車門(第 3 層)與引擋蓋(第 3 層)構成。

你的任務是撰寫查詢,以取得資料表 partList 的階層等級。你需要建立 CTE construction_Plan,並追蹤每個元件在階層中的位置。請從第 1 層開始,追蹤所有元件到第 2 層為止。

本練習屬於課程

SQL Server 的階層式與遞迴查詢

檢視課程

練習說明

  • 定義 construction_Plan,欄位包含:PartIDSubPartIDTitleComponentLevel
  • 將欄位 Level 初始化為 1。
  • 在每一次遞迴步驟中將 Level 加 1。
  • 將步驟數(Level)限制為小於 2

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

-- 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;
編輯並執行程式碼