Anda perlu menambahkan kolom bernama Level
(atau apa pun yang Anda ingin menyebutnya) - baik untuk "jangkar" SELECT serta bagian rekursif dari CTE Anda - seperti ini:
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