MulaiMulai sekarang secara gratis

Dapatkan saluran listrik yang perlu dipelihara

Dalam tabel GridStructure yang disediakan, kolom yang menjelaskan keterhubungan antar saluran (EquipmentID,EquipmentID_To,EquipmentID_From) dan karakteristik saluran (misalnya Description, ConditionAssessment, VoltageLevel) sudah ditentukan.

Sekarang, tugas Anda adalah menemukan saluran yang terhubung dengan saluran yang memiliki EquipmentID = 3 yang berstatus bad atau repair pada ConditionAssessment dan memiliki VoltageLevel sama dengan HV. Dengan demikian, Anda dapat menjawab pertanyaan berikut:

Saluran mana yang harus diganti atau diperbaiki berdasarkan deskripsi dan kondisi saat ini?

Anda harus membuat CTE untuk menemukan saluran yang terhubung dan akhirnya memfilter berdasarkan karakteristik yang diinginkan.

Latihan ini adalah bagian dari kursus

Kueri Hierarkis dan Rekursif di SQL Server

Lihat Kursus

Petunjuk latihan

  • Definisikan CTE maintenance_List.
  • Mulai evaluasi untuk saluran 3.
  • Gabungkan GridStructure dengan maintenance_List pada titik ujung yang bersesuaian.
  • Gunakan LIKE untuk memfilter saluran listrik dengan ConditionAssessment berupa exchange atau repair, dan VoltageLevel bernilai HV.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

-- 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%'
Edit dan Jalankan Kode