...SELECT 'x', 'b', 'n'
;
-- Declare CTE
WITH Temp
AS
(
SELECT
c1,
c2,
c3,
0 AS Level
FROM
@T as T
WHERE
c3 = '0'
UNION ALL
SELECT
T1.c1,
T1.c2,
T1.c3,
Level + 1
FROM
@T AS T1
INNER JOIN
Temp AS T2
ON T1.c3 = T2.c2
)
-- Get results
SELECT *
FROM Temp