• 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