तक एक पेड़ शाखा संरचना का चयन करें क्या एक सीडीई में एक पैरामीटर पास करना संभव है जो नोड का चयन करता है, फिर उसके माता-पिता को रूट पर चुनता है जहां parentId
शून्य है?एसक्यूएल सर्वर सीटीई रूट
नीचे दिए गए कोड में यदि मैं रेन कोट्स का चयन करने वाले पैरामीटर में पास करता हूं और फिर पेड़ को पुरुषों के पहनने के लिए दोहराता हूं जहां parentId
शून्य है और बच्चों सहित उस शाखा में सभी नोड्स का चयन करता है। क्या कोई मेरी मदद कर सकता है कृपया। मेरे उदाहरण सिर्फ recurses और गहराई
एसक्यूएल उदाहरण दिखाता है:
DECLARE @Department TABLE
(
Id INT NOT NULL,
Name varchar(50) NOT NULL,
ParentId int NULL
)
INSERT INTO @Department SELECT 1, 'Toys', null
INSERT INTO @Department SELECT 2, 'Computers', null
INSERT INTO @Department SELECT 3, 'Consoles', 2
INSERT INTO @Department SELECT 4, 'PlayStation 3', 3
INSERT INTO @Department SELECT 5, 'Xbox 360', 2
INSERT INTO @Department SELECT 6, 'Games', 1
INSERT INTO @Department SELECT 7, 'Puzzles', 6
INSERT INTO @Department SELECT 8, 'Mens Wear', null
INSERT INTO @Department SELECT 9, 'Mens Clothing', 8
INSERT INTO @Department SELECT 10, 'Jackets', 9
INSERT INTO @Department SELECT 11, 'Rain Coats', 10
;WITH c
AS
(
SELECT Id, Name,1 AS Depth
FROM @Department
WHERE ParentId is null
UNION ALL
SELECT t.Id, t.Name, c.Depth + 1 AS 'Level'
FROM @Department T
JOIN c ON t.ParentId = c.Id
)
SELECT * FROM c WHERE c.Id = 3
अपने वर्तमान क्वेरी के और में उत्पादन क्या है: - मैं एक नया स्तंभ
StartingId
जो निरंतर बनी हुई के रूप में हम पेड़ पर चलना शुरू की है यह है कि क्या हम आधारित चुन लिए जाएँगे पर है तुम क्या चाहते हो? मैं समझ नहीं पा रहा हूं कि आप क्या चाहते हैं कि पहले से ही उस क्वेरी में नहीं है। –मैं एक पैरामीटर में पास करना चाहता हूं जो नोड का चयन करता है और उसके बाद पेड़ को उस शाखा में अपने बच्चों को – ONYX
के साथ पार करता है, इसलिए यदि मैं वर्षा कोट का चयन करता हूं तो मैं प्रक्रिया को ऊपर की तरफ जाना चाहता हूं और सभी माता-पिता को उस नोड तक चुनना चाहता हूं इसका मतलब है कि यह कहां है कि यह माता-पिता है, इसलिए इसमें सभी बच्चे शामिल होंगे जो – ONYX