Repérer les lignes électriques à entretenir
Dans la table GridStructure fournie, les champs qui décrivent la connexion entre les lignes (EquipmentID,EquipmentID_To,EquipmentID_From) et les caractéristiques des lignes (p. ex. Description, ConditionAssessment, VoltageLevel) sont déjà définis.
Votre tâche consiste maintenant à trouver les lignes connectées à la ligne dont EquipmentID = 3 qui ont bad ou repair comme ConditionAssessment et un VoltageLevel égal à HV. Cela vous permettra de répondre à la question suivante :
Quelles lignes doivent être remplacées ou réparées selon leur description et leur état actuel?
Vous devez créer une CTE pour trouver les lignes connectées, puis filtrer selon les caractéristiques souhaitées.
Cette activité fait partie du cours
Requêtes hiérarchiques et récursives dans SQL Server
Instructions de l’exercice
- Définissez la CTE
maintenance_List. - Commencez l'évaluation pour la ligne 3.
- Joignez
GridStructureavecmaintenance_Listsur les points d'extrémité correspondants. - Utilisez
LIKEpour filtrer les lignes électriques dont leConditionAssessmentest soitexchangesoitrepair, et dont leVoltageLevelestHV.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- 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%'