CommencerCommencez gratuitement

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>
Voir le cours

Instructions de l’exercice

  • Définissez la CTE maintenance_List.
  • Commencez l’évaluation pour la ligne 3.
  • Faites une jointure entre GridStructure et maintenance_List sur les extrémités correspondantes.
  • Utilisez LIKE pour filtrer les lignes électriques dont le ConditionAssessment est exchange ou repair, et dont le VoltageLevel est HV.

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%'
Modifier et exécuter le code