開始使用免費開始

找出需要維護的電力線路

在提供的 GridStructure 資料表中,已經定義了描述線路彼此連接的欄位(EquipmentIDEquipmentID_ToEquipmentID_From)以及線路的特性(例如 DescriptionConditionAssessmentVoltageLevel)。

現在,你的任務是找出與 EquipmentID = 3 的線路相連的那些線路,且其 ConditionAssessmentbadrepair,並且 VoltageLevel 等於 HV。完成後,你就能回答以下問題:

根據說明與目前狀況,哪些線路需要更換或維修?

你需要建立一個 CTE 來找出相連的線路,最後再根據所需特性進行篩選。

本練習屬於課程

SQL Server 的階層式與遞迴查詢

檢視課程

練習說明

  • 定義 CTE maintenance_List
  • 從線路 3 開始評估。
  • GridStructuremaintenance_List 依對應端點進行連接。
  • 使用 LIKE 篩選 ConditionAssessmentexchangerepair,且 VoltageLevelHV 的電力線路。

動手互動練習

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

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