Začněte nyníZačněte zdarma

Zjisti, které vedení potřebuje údržbu

V tabulce GridStructure jsou již definována pole popisující propojení vedení (EquipmentID, EquipmentID_To, EquipmentID_From) i jejich charakteristiky (např. Description, ConditionAssessment, VoltageLevel).

Tvým úkolem je najít vedení připojená k vedení s EquipmentID = 3, která mají jako ConditionAssessment hodnotu bad nebo repair a jejichž VoltageLevel je rovno HV. Díky tomu budeš schopen/schopna odpovědět na tuto otázku:

Která vedení je třeba vyměnit nebo opravit na základě jejich popisu a aktuálního stavu?

Vytvoř CTE pro nalezení propojených vedení a na závěr ho filtruj podle požadovaných charakteristik.

Toto cvičení je součástí kurzu

Hierarchical and Recursive Queries in SQL Server

Zobrazit kurz

Pokyny k cvičení

  • Definuj CTE maintenance_List.
  • Začni vyhodnocování od vedení č. 3.
  • Spoj GridStructure s maintenance_List podle odpovídajících koncových bodů.
  • Pomocí LIKE vyfiltruj vedení, jejichž ConditionAssessment je exchange nebo repair a VoltageLevel je HV.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

-- 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%'
Upravit a spustit kód