हाइरार्की में स्थिति निकालें
रिकर्शन के साथ काम करते समय एक महत्वपूर्ण समस्या है रिकर्शन का स्तर ट्रैक करना। IT संगठन में, इसका मतलब है हर कर्मचारी की हाइरार्की में स्थिति को ट्रैक करना।

इसके लिए, आप LEVEL फ़ील्ड का उपयोग करेंगे जो मौजूदा रिकर्शन स्टेप को ट्रैक करता है। आपको इस फ़ील्ड को एंकर मेम्बर में शामिल करना है, और रिकर्शन मेम्बर में हर रिकर्शन स्टेप पर इस मान को बढ़ाना है।
ध्यान रखें, पहली हाइरार्की लेवल 0 है, दूसरी लेवल 1 है, और आगे इसी तरह।
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL Server में Hierarchical और Recursive Queries
अभ्यास निर्देश
- रिकर्शन की शुरुआत में
LEVELफ़ील्ड को 1 से initialize करें. Supervisorपर फ़िल्टर करके IT डायरेक्टर की जानकारी को CTE के शुरुआती स्टेप के रूप में चुनें.LEVELको मौजूदा रिकर्शन स्टेप पर सेट करें.- सुपरवाइज़र और एम्प्लॉयी के
IDपर परिभाषित CTE के साथJOINकरें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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;