You can try it this way...with a table declaration.DECLARE @t TABLE( ffitem_id INT, ffcode_desc VARCHAR(MAX) ) INSERT @t SELECT d.ffitem_id, c1.ffcode_desc FROM ffdocument d LEFT OUTER JOIN ffrelation AS r1 ON (r1.ffitem_id1 = d.ffitem_id AND r1.ffoption = 'TEAM_MEMBE') LEFT OUTER JOIN ffcodelist AS c1 ON c1.ffitem_id = r1.ffitem_id2 SELECT DISTINCT s1.ffitem_id, STUFF((SELECT ',' + s2.ffcode_desc FROM @t AS s2 WHERE s2.ffitem_id = s1.ffitem_id FOR XML PATH('')),1,1,'') AS ffcode_desc FROM @t AS s1 ORDER BY s1.ffitem_id