Hiyerarşi konumunu al
Özyineleme ile çalışırken önemli bir sorun, özyineleme düzeyini takip etmektir. BT organizasyonunda bu, her çalışanın hiyerarşideki konumunu izlemek anlamına gelir.

Bunun için, geçerli özyineleme adımını izleyen bir LEVEL alanı kullanacaksın. Bu alanı çapa (anchor) üyeye eklemeli ve özyineleme üyede her adımda bu değeri artırmalısın.
Unutma, ilk hiyerarşi düzeyi 0, ikinci düzey 1 şeklinde devam eder.
Bu egzersiz
SQL Server'da Hiyerarşik ve Özyinelemeli Sorgular
kursunun bir parçasıdırEgzersiz talimatları
- Özyinelemenin başlangıcında
LEVELalanını 1 olarak başlat. Supervisoralanında filtreleyerek BT direktörünün bilgilerini CTE’nin ilk adımı olarak seç.LEVELdeğerini geçerli özyineleme adımına ayarla.- Yöneticinin ve çalışanın
ID’leri üzerinden tanımlı CTE ile birJOINgerçekleştir.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
WITH employee_hierarchy AS (
SELECT
ID,
NAME,
Supervisor,
-- Initialize the field LEVEL
___ as LEVEL
FROM employee
-- Start with the supervisor ID of the IT Director
WHERE ___ = ___
UNION ALL
SELECT
emp.ID,
emp.NAME,
emp.Supervisor,
-- Increment LEVEL by 1 each step
___ + 1
FROM employee emp
JOIN employee_hierarchy
-- JOIN on supervisor and ID
ON emp.___ = employee_hierarchy.___)
SELECT
cte.Name, cte.Level,
emp.Name as ManagerID
FROM employee_hierarchy as cte
JOIN employee as emp
ON cte.Supervisor = emp.ID
ORDER BY Level;