कार का बिल ऑफ़ मैटेरियल बनाएँ
इस अभ्यास में, आप यह प्रश्न हल करेंगे: कार बनाने वाले अलग-अलग कंपोनेंट्स के स्तर क्या हैं?
उदाहरण के लिए, एक SUV (1st level) में एक इंजन (2nd level) और एक बॉडी (2nd level) होती है, और बॉडी में एक दरवाज़ा (3rd level) और एक हुड (3rd level) होता है.
आपका काम partList टेबल की हायरार्की लेवल निकालने के लिए एक क्वेरी बनाना है। आपको CTE construction_Plan बनानी है और हायरार्की में हर कंपोनेंट की पोज़िशन को ट्रैक करना है। सभी कंपोनेंट्स को level 1 से शुरू करके level 2 तक ट्रैक करें।
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL Server में Hierarchical और Recursive Queries
अभ्यास निर्देश
construction_Planको इन फील्ड्स के साथ परिभाषित करें:PartID,SubPartID,Title,ComponentऔरLevel.Levelफील्ड को 1 से इनिशियलाइज़ करें।- हर रिकर्शन स्टेप में
Levelको 1 बढ़ाएँ। - स्टेप्स की संख्या (
Level) को 2 से छोटा रखें।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
-- Define CTE with the fields: PartID, SubPartID, Title, Component, Level
___ construction_Plan (___, ___,___, ___, ___) AS (
SELECT
PartID,
SubPartID,
Title,
Component,
-- Initialize the field Level
___
FROM partList
WHERE PartID = '1'
UNION ALL
SELECT
CHILD.PartID,
CHILD.SubPartID,
CHILD.Title,
CHILD.Component,
-- Increment the field Level each recursion step
PARENT.___ + ___
FROM construction_Plan PARENT, partList CHILD
WHERE CHILD.SubPartID = PARENT.PartID
-- Limit the number of iterations to Level < 2
AND PARENT.___ < ___)
SELECT DISTINCT PartID, SubPartID, Title, Component, Level
FROM construction_Plan
ORDER BY PartID, SubPartID, Level;