• You could use the FOR XML PATH approach and a subquery (or CTE):

    DECLARE @tbl TABLE

    (

    grp INT,ledger CHAR(3), amount INT

    )

    INSERT INTO @tbl

    SELECT 1 ,'A01', 5 UNION ALL

    SELECT 1 ,'A02', 3 UNION ALL

    SELECT 1 ,'A03', 4 UNION ALL

    SELECT 2 ,'A22', 8 UNION ALL

    SELECT 3 ,'A33', 3 UNION ALL

    SELECT 3 ,'A36', 4

    ;WITH cte AS

    (

    SELECT grp ,SUM(amount) AS amnt

    FROM @tbl

    GROUP BY grp

    )

    SELECT

    t1.grp,

    amnt,

    STUFF((SELECT ', '+ ledger FROM @tbl t2 WHERE t1.grp=t2.grp ORDER BY t2.ledger

    FOR XML PATH('')),1,2,'') AS ledger

    FROM

    @tbl t1

    INNER JOIN cte ON cte.grp=t1.grp

    GROUP BY t1.grp,cte.amnt



    Lutz
    A pessimist is an optimist with experience.

    How to get fast answers to your question[/url]
    How to post performance related questions[/url]
    Links for Tally Table [/url] , Cross Tabs [/url] and Dynamic Cross Tabs [/url], Delimited Split Function[/url]