Zjisti, které vedení potřebuje údržbu
V tabulce GridStructure jsou již definována pole popisující propojení vedení (EquipmentID, EquipmentID_To, EquipmentID_From) i jejich charakteristiky (např. Description, ConditionAssessment, VoltageLevel).
Tvým úkolem je najít vedení připojená k vedení s EquipmentID = 3, která mají jako ConditionAssessment hodnotu bad nebo repair a jejichž VoltageLevel je rovno HV. Díky tomu budeš schopen/schopna odpovědět na tuto otázku:
Která vedení je třeba vyměnit nebo opravit na základě jejich popisu a aktuálního stavu?
Vytvoř CTE pro nalezení propojených vedení a na závěr ho filtruj podle požadovaných charakteristik.
Toto cvičení je součástí kurzu
Hierarchical and Recursive Queries in SQL Server
Pokyny k cvičení
- Definuj CTE
maintenance_List. - Začni vyhodnocování od vedení č. 3.
- Spoj
GridStructuresmaintenance_Listpodle odpovídajících koncových bodů. - Pomocí
LIKEvyfiltruj vedení, jejichžConditionAssessmentjeexchangeneborepairaVoltageLeveljeHV.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
-- 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%'