Hitta kraftledningar som behöver underhåll
I tabellen GridStructure finns redan fält som beskriver kopplingen mellan ledningar (EquipmentID, EquipmentID_To, EquipmentID_From) samt ledningarnas egenskaper (t.ex. Description, ConditionAssessment, VoltageLevel).
Din uppgift är nu att hitta de ledningar som är anslutna till ledningen med EquipmentID = 3 och som har bad eller repair som ConditionAssessment samt ett VoltageLevel som är lika med HV. På så sätt kan du besvara följande fråga:
Vilka ledningar behöver bytas ut eller repareras utifrån deras beskrivning och aktuella skick?
Du ska skapa en CTE för att hitta de anslutna ledningarna och sedan filtrera på önskade egenskaper.
Den här övningen är en del av kursen
Hierarkiska och rekursiva frågor i SQL Server
Övningsinstruktioner
- Definiera CTE:n
maintenance_List. - Börja utvärderingen från ledning 3.
- Koppla ihop
GridStructuremedmaintenance_Listpå motsvarande ändpunkter. - Använd
LIKEför att filtrera kraftledningar medConditionAssessmentav antingenexchangeellerrepair, samt ettVoltageLevelavHV.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- 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%'