Resource_Id Skills ------------------------------ -----------------------Email1 oracle,sqlserver,vb.netEmail2 excel,java,sqlserver Email3 java,oracle,vb.net
declare @skills table (Resource_Id varchar(30), Skill_Id varchar(20))insert into @skillsselect 'Email1' , 'sqlserver' union allselect 'Email1' , 'vb.net' union allselect 'Email1' , 'oracle' union allselect 'Email2', 'sqlserver' union allselect 'Email2', 'java' union allselect 'Email2', 'excel' union allselect 'Email3', 'vb.net' union allselect 'Email3', 'java' union allselect 'Email3', 'oracle'---select * from @skills s1--- Concatenated Formatset statistics time on;SELECT Resource_Id,stuff(( SELECT ',' + Skill_Id FROM @skills s2 WHERE s2.Resource_Id= s1.resource_ID --- must match GROUP BY below ORDER BY Skill_Id FOR XML PATH('') ),1,1,'') as [Skills]FROM @skills s1GROUP BY s1.Resource_Id --- without GROUP BY multiple rows are returnedORDER BY s1.Resource_Idset statistics time off;