Don't know that I completely understood the table/data setup but hopefully this at least points you in the right direction
DECLARE @TblA TABLE (
Col1 INT
, Col2 INT
);
DECLARE @TblB TABLE (
Col1 INT
, Col2 INT
);
DECLARE @TblC TABLE (
Col1 INT
, Col2 INT
);
INSERT INTO @TblA (Col1, Col2) VALUES (1, 1),(2, 2);
INSERT INTO @TblC (Col1, Col2) VALUES (100, 1),(200, 2),(300, 3);
INSERT INTO @TblB (Col1, Col2) VALUES (1, 1),(2, 1),(2, 2),(2, 3);
Select A.Col2
, STUFF((
SELECT',' + CONVERT(VARCHAR,c.Col1)
FROM@TblB B
Inner join @TblC C on c.Col2 = b.Col2
WHERE B.Col1 = a.Col2
FOR XML PATH(''),TYPE).value('.','VARCHAR(MAX)'),1,1,'')
From @TblA A
_____________________________________________________________________
- Nate