Identifier les lignes électriques à maintenir
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 (par ex. Description, ConditionAssessment, VoltageLevel) sont déjà définis.
Votre tâche consiste maintenant à trouver les lignes connectées à la ligne avec 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 d’après 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.
Cet exercice fait partie du cours
<cours>Requêtes hiérarchiques et récursives dans SQL Server</cours>Instructions de l’exercice
- Définissez la CTE
maintenance_List. - Commencez l’évaluation pour la ligne 3.
- Faites une jointure entre
GridStructureetmaintenance_Listsur les extrémités correspondantes. - Utilisez
LIKEpour filtrer les lignes électriques dont leConditionAssessmentestexchangeourepair, 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%'