开始使用免费开始使用

创建汽车物料清单

在本练习中,您将回答这个问题:构成一辆汽车的不同部件分别处于哪些层级?

例如,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;
编辑并运行代码