Bepaal welke hoogspanningslijnen onderhoud nodig hebben
In de tabel GridStructure zijn de velden die de verbinding tussen lijnen beschrijven (EquipmentID,EquipmentID_To,EquipmentID_From) en de kenmerken van de lijnen (bijv. Description, ConditionAssessment, VoltageLevel) al gedefinieerd.
Jouw taak is nu om de verbonden lijnen te vinden van de lijn met EquipmentID = 3 die als ConditionAssessment bad of repair hebben en waarvan de VoltageLevel gelijk is aan HV. Zo kun je de volgende vraag beantwoorden:
Welke lijnen moeten worden vervangen of gerepareerd op basis van hun omschrijving en huidige staat?
Je moet een CTE maken om de verbonden lijnen te vinden en vervolgens te filteren op de gewenste kenmerken.
Deze oefening maakt deel uit van de cursus
Hiërarchische en recursieve queries in SQL Server
Oefeninstructies
- Definieer de CTE
maintenance_List. - Start de beoordeling voor lijn 3.
- Join
GridStructuremetmaintenance_Listop de overeenkomstige eindpunten. - Gebruik
LIKEom de hoogspanningslijnen te filteren met eenConditionAssessmentvanexchangeofrepair, en eenVoltageLevelvanHV.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
-- 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%'