I am unsure how well this is supported in other implimentations of SQL, but if you have SQL Server this works a charm for this type of scenario.
As a disclaimer I would like to add that I am not the originator of this technique. But I immediately thought of this question when I came across it.
Example:
For a table 
Item ID       Item Value       Item Text
-----------  ----------------- ---------------
1             2                 A 
1             2                 B
1             6                 C
2             2                 D
2             4                 A
3             7                 B
3             1                 D
If you want the following output, with the strings concatenated and the value summed.
Item ID      Item Value        Item Text
-----------  ----------------- ---------------
1            10                 A, B, C 
2            6                  D, A
3            8                  B, D
The following avoids a multi-statement looping solution:
if object_id('Items') is not null
  drop table Items
go
create table Items
     ( ItemId    int identity(1,1),
       ItemNo    int not null,
       ItemValue int not null,
       ItemDesc  nvarchar(500) )
insert Items
     ( ItemNo,
       ItemValue,
       ItemDesc )
values ( 1, 2, 'A'),
       ( 1, 2, 'B'),
       ( 1, 6, 'C'),
       ( 2, 2, 'D'),
       ( 2, 4, 'A'),
       ( 3, 7, 'B'),
       ( 3, 1, 'D')
select it1.ItemNo,
       sum(it1.ItemValue) as ItemValues,
       stuff((select ', ' + it2.ItemDesc  --// Stuff is just used to remove the first 2 characters, instead of a substring.
                from Items it2 with (nolock)
               where it1.ItemNo = it2.ItemNo
                 for xml path(''), type).value('.','varchar(max)'), 1, 2, '') as ItemDescs --// Does the actual concatenation..  
  from Items it1 with (nolock)
 group by it1.ItemNo
So you see all you need is a sub query in your select that retrieves a set of all the values you need to concatenate and then use the FOR XML PATH command in that sub query in a clever way. It does not matter where the values you need to concatenate comes from you just need to retrieve them using the sub query.