DECLARE @t TABLE(ID INT, Name CHAR(3),Code CHAR(1))
INSERT INTO @t(ID,Name,Code)
VALUES
(1, 'abc', 'A'),
(1, 'abc', 'B'),
(2, 'ght', 'F'),
(3, 'jku', 'G'),
(4, 'xyz', 'P'),
(4, 'xyz', 'Q'),
(5, 'rst', 'D');
SELECT a.ID,
a.Name,
STUFF((SELECT ',' + b.Code AS "text()"
FROM @t b
WHERE b.ID = a.ID
AND b.Name = a.Name
ORDER BY b.Code
FOR XML PATH(''),TYPE).value('.','VARCHAR(MAX)'),1,1,'') AS Code
FROM @t a
GROUP BY a.ID,a.Name
ORDER BY a.ID,a.Name;
____________________________________________________
Deja View - The strange feeling that somewhere, sometime you've optimised this query before
How to get the best help on a forum
http://www.sqlservercentral.com/articles/Best+Practices/61537