자동차 자재 명세서 만들기
이 연습 문제에서는 다음 질문에 답해 보겠습니다: 자동차를 구성하는 다양한 부품의 레벨은 무엇인가요?
예를 들어, 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;