seems like this;With CTE (Seq,date, originid, originname, [origin desc], [origin desc other],origintype)AS(SELECT ROW_NUMBER() OVER (PARTITION BY originid ORDER BY date),date, originid, originname, [origin desc], [origin desc other],origintypefrom origindept)SELECT c.date, c.originid, c.originname, c.[origin desc], LEFT(t.u,LEN(t.u)-1),c.origintypeFROM CTE cOUTER APPLY (SELECT [origin desc] + ',' FROM CTE WHERE originid = c.originid AND Seq>=2 FOR XML PATH('')) t(u)WHERE c.Seq=1