Inizia subitoInizia gratis

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

Visualizza corso

Istruzioni dell'esercizio

  • Definisci la CTE maintenance_List.
  • Avvia la valutazione dalla linea 3.
  • Fai la JOIN di GridStructure con maintenance_List sugli endpoint corrispondenti.
  • Usa LIKE per filtrare le linee elettriche con ConditionAssessment pari a exchange o repair e con VoltageLevel uguale a HV.

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%'
Modifica ed esegui il codice