เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ค้นหาสายส่งไฟฟ้าที่ต้องบำรุงรักษา

ในตาราง GridStructure ที่กำหนดให้ มีฟิลด์ที่อธิบายการเชื่อมต่อระหว่างสายไฟ (EquipmentID, EquipmentID_To, EquipmentID_From) และคุณลักษณะของสายไฟ (เช่น Description, ConditionAssessment, VoltageLevel) ถูกกำหนดไว้เรียบร้อยแล้ว

โดยมีภารกิจในการค้นหาสายไฟที่เชื่อมต่อกับสายไฟที่มี EquipmentID = 3 ซึ่งมี ConditionAssessment เป็น bad หรือ repair และมี VoltageLevel เท่ากับ HV เพื่อตอบคำถามต่อไปนี้:

สายไฟเส้นใดที่ต้องเปลี่ยนหรือซ่อมแซม โดยพิจารณาจากคำอธิบายและสภาพปัจจุบัน?

ให้สร้าง CTE เพื่อค้นหาสายไฟที่เชื่อมต่อกัน แล้วกรองตามคุณลักษณะที่ต้องการ

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Hierarchical and Recursive Queries in SQL Server

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนด CTE ชื่อ maintenance_List
  • เริ่มการประมวลผลจากสายไฟเส้นที่ 3
  • JOIN GridStructure กับ maintenance_List บน endpoint ที่สอดคล้องกัน
  • ใช้ LIKE เพื่อกรองสายไฟที่มี ConditionAssessment เป็น exchange หรือ repair และมี VoltageLevel เป็น HV

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- 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%'
แก้ไขและรันโค้ด