इसे यह करना चाहिए:
WITH MyTest as
(
SELECT P.ProductID, P.ParentID, CAST(P.ProductID AS VarChar(Max)) as Level
FROM Products P
WHERE P.ParentID = 0
UNION ALL
SELECT P1.ProductID, P1.ParentID, CAST(P1.ProductID AS VarChar(Max)) + ', ' + M.Level
FROM Products P1
INNER JOIN MyTest M
ON M.ProductID = P1.ParentID
)
SELECT * From MyTest
और ये रहा अपडेटेड SQL Fiddle.
साथ ही, सीटीई की सहायता के लिए इस लिंक को देखें... वे निश्चित रूप से जानने के लिए अच्छे हैं:
आशा है कि यह चाल चलेगा!