开始使用免费开始使用

获取需要维护的输电线路

在提供的 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%'
编辑并运行代码