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
Petunjuk latihan
- Definisikan CTE
maintenance_List. - Mulai evaluasi untuk saluran 3.
- Gabungkan
GridStructuredenganmaintenance_Listpada titik ujung yang bersesuaian. - Gunakan
LIKEuntuk memfilter saluran listrik denganConditionAssessmentberupaexchangeataurepair, danVoltageLevelbernilaiHV.
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%'