Musíte přidat sloupec s názvem Level
(nebo jak to nazvat) – jak do „kotvy“ SELECT, tak i do rekurzivní části vašeho CTE – takto:
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