시작하기무료로 시작하기

유지 보수가 필요한 송전선 찾기

제공된 GridStructure 테이블에는 선로 간 연결을 설명하는 필드(EquipmentID, EquipmentID_To, EquipmentID_From)와 선로의 특성(예: Description, ConditionAssessment, VoltageLevel)이 이미 정의되어 있어요.

이제 여러분의 과제는 EquipmentID = 3인 선로와 연결된 선로들 중 ConditionAssessmentbad 또는 repair이고, VoltageLevelHV인 선로를 찾는 것입니다. 이렇게 하면 다음 질문에 답할 수 있어요:

설명과 현재 상태에 따르면 어떤 선로를 교체하거나 수리해야 하나요?

연결된 선로를 찾기 위해 CTE를 만들고, 마지막에는 원하는 특성으로 필터링하세요.

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

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

강의 보기

연습 안내

  • CTE maintenance_List를 정의하세요.
  • 3번 선로에 대한 평가를 시작하세요.
  • 해당 단말(endpoint)에 맞춰 GridStructuremaintenance_List와 조인하세요.
  • ConditionAssessmentexchange 또는 repair이고 VoltageLevelHV인 송전선을 LIKE로 필터링하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

-- Define the table CTE
___ ___ (Line, Destination, Source, Description, ConditionAssessment, VoltageLevel) ___ (
	SELECT 
  		EquipmentID,
  		EquipmentID_To,
  		EquipmentID_From,
  		Description,
  		ConditionAssessment,
  		VoltageLevel
  	FROM GridStructure
 	-- Start the evaluation for line 3
	___ EquipmentID = ___
	UNION ALL
	SELECT 
		Child.EquipmentID, 
  		Child.EquipmentID_To,
  		Child.EquipmentID_FROM,
  		Child.Description,
  		Child.ConditionAssessment,
  		Child.VoltageLevel
	FROM GridStructure Child
  		-- Join GridStructure with CTE on the corresponding endpoints
  		___ maintenance_List 
    	ON maintenance_List.Line = Child.___)
SELECT Line, Description, ConditionAssessment 
FROM maintenance_List
-- Filter the lines based on ConditionAssessment and VoltageLevel
WHERE 
    (ConditionAssessment ___ '%exchange%' ___ ConditionAssessment ___ '%repair%') ___ 
     VoltageLevel LIKE '%HV%'
코드 편집 및 실행