Use recursive CTE on SQLServer2005+
;WITH cte AS
(
SELECT ID, C1, C2, C3, 0 AS [Level]
FROM dbo.test7
WHERE ID = 1 -- @your root node
UNION ALL
SELECT t.ID, t.C1, t.C2, t.C3, c.[Level] + 1
FROM dbo.test7 t JOIN cte c ON t.ID IN (c.C1, c.C2, c.C3)
WHERE c.[Level] + 1 <= 2 --@your_depth
)
SELECT ID, C1, C2, C3
FROM cte
Demo on SQLFiddle