आपको Level
. नाम का एक कॉलम जोड़ना होगा (या जो भी आप इसे कॉल करना चाहते हैं) - "एंकर" चयन के साथ-साथ आपके सीटीई के पुनरावर्ती भाग दोनों के लिए - इस तरह:
WITH CategoryRec AS
(
SELECT Id, Parentid, Name, 1 AS 'Level'
FROM dbo.Category
UNION ALL
SELECT cr.Id, c.Parentid, cr.Name, cr.Level + 1
FROM CategoryRec AS cr
INNER JOIN dbo.Category AS c ON cr.Parentid = c.Id
WHERE c.Parentid IS NOT NULL
)
SELECT DISTINCT Id, Parentid, Name, Level
FROM CategoryRec