시작하기무료로 시작하기

자동차 자재 명세서 만들기

이 연습 문제에서는 다음 질문에 답해 보겠습니다: 자동차를 구성하는 다양한 부품의 레벨은 무엇인가요?

예를 들어, SUV(1레벨)는 엔진(2레벨)과 차체(2레벨)로 이루어지고, 차체는 문(3레벨)과 보닛(3레벨)으로 이루어집니다.

여러분의 과제는 테이블 partList의 계층 레벨을 가져오는 쿼리를 작성하는 것입니다. CTE construction_Plan을 만들고, 계층에서 각 구성 요소의 위치를 추적해야 합니다. 레벨 1에서 시작하여 레벨 2까지의 모든 구성 요소를 추적하세요.

이 연습은 강의의 일부입니다

SQL Server에서의 계층형 및 재귀 쿼리

강의 보기

연습 안내

  • construction_Plan을 다음 필드로 정의하세요: PartID, SubPartID, Title, Component, Level.
  • 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;
코드 편집 및 실행