Thank you for the good question. You are right, it is not as simple as I initially implied -- there is some legwork that you must do. One way to do the legwork is to use the REPLACE function:
declare @nameSample table
( rid integer,
Team integer,
Seq integer,
member varchar(13)
)
insert into @nameSample values (1, 1, 1, 'Mary Ellen')
insert into @nameSample values (2, 1, 2, 'Jack')
insert into @nameSample values (3, 2, 1, 'Gustavo')
insert into @nameSample values (4, 2, 2, 'Catherine')
insert into @nameSample values (5, 2, 3, 'Kim')
insert into @nameSample values (6, 2, 4, 'Bev')
insert into @nameSample values (7, 3, 1, 'Barney')
insert into @nameSample values (8, 3, 2, 'Fred')
insert into @nameSample values (9, 3, 3, 'Betty')
insert into @nameSample values (10,3, 4, 'Dino')
select distinct
team,
replace(replace(
( select replace (member, ' ', '~') as [data()]
from @nameSample x
where seq <= 3
and a.team = x.team
order by Seq
for xml path ('')
), ' ', ','), '~', ' ')
as nameList
from @nameSample a
-- team nameList
-- ----------- ---------------------
-- 1 Mary Ellen,Jack
-- 2 Gustavo,Catherine,Kim
-- 3 Barney,Fred,Betty