Zu wartende Stromleitungen ermitteln
In der bereitgestellten Tabelle GridStructure sind die Felder, die die Verbindung zwischen Leitungen beschreiben (EquipmentID,EquipmentID_To,EquipmentID_From), sowie die Eigenschaften der Leitungen (z. B. Description, ConditionAssessment, VoltageLevel) bereits definiert.
Deine Aufgabe ist es nun, die verbundenen Leitungen der Leitung mit EquipmentID = 3 zu finden, die als ConditionAssessment bad oder repair haben und deren VoltageLevel gleich HV ist. So kannst du folgende Frage beantworten:
Welche Leitungen müssen laut Beschreibung und aktuellem Zustand ausgetauscht oder repariert werden?
Du musst eine CTE erstellen, um die verbundenen Leitungen zu finden, und anschließend nach den gewünschten Eigenschaften filtern.
Diese Übung ist Teil des Kurses
Hierarchische und rekursive Abfragen in SQL Server
Anleitung zur Übung
- Definiere die CTE
maintenance_List. - Starte die Auswertung für Leitung 3.
- Verknüpfe
GridStructuremitmaintenance_Listüber die entsprechenden Endpunkte. - Verwende
LIKE, um die Stromleitungen mitConditionAssessmententwederexchangeoderrepairund einemVoltageLevelvonHVzu filtern.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
-- 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%'