Individua le linee elettriche da manutenere
Nella tabella GridStructure fornita, i campi che descrivono la connessione tra le linee (EquipmentID, EquipmentID_To, EquipmentID_From) e le caratteristiche delle linee (ad es. Description, ConditionAssessment, VoltageLevel) sono già definiti.
Ora il tuo compito è trovare le linee collegate alla linea con EquipmentID = 3 che hanno bad o repair come ConditionAssessment e un VoltageLevel pari a HV. In questo modo puoi rispondere alla domanda:
Quali linee devono essere sostituite o riparate in base alla loro descrizione e al loro stato attuale?
Devi creare una CTE per trovare le linee collegate e, infine, filtrare in base alle caratteristiche desiderate.
Questo esercizio fa parte del corso
Query gerarchiche e ricorsive in SQL Server
Istruzioni dell'esercizio
- Definisci la CTE
maintenance_List. - Avvia la valutazione dalla linea 3.
- Fai la JOIN di
GridStructureconmaintenance_Listsugli endpoint corrispondenti. - Usa
LIKEper filtrare le linee elettriche conConditionAssessmentpari aexchangeorepaire conVoltageLeveluguale aHV.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
-- 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%'