Perhaps this has already been asked (or scoffed at for being 'undocumented') but have you considered a function using COALESCE to return your pivoted series?
CREATE TABLE Test (
id INT,
val VARCHAR(10))
INSERT Test (id, val) VALUES(56, 'run')
INSERT Test (id, val) VALUES(56, 'jump')
INSERT Test (id, val) VALUES(56, 'scale')
INSERT Test (id, val) VALUES(57, 'fly')
INSERT Test (id, val) VALUES(57, 'swim')
INSERT Test (id, val) VALUES(57, 'crawl')
GO
CREATE FUNCTION uf_pivot_series (@id INT)
RETURNS VARCHAR(8000)
BEGIN
DECLARE @return VARCHAR(8000)
DECLARE @delimiter CHAR(2)
SET @delimiter = ', '
SELECT @return = COALESCE(@return + @delimiter, '') + val FROM Test
WHERE id = @id
RETURN @return
END
GO
SELECT id,
dbo.uf_pivot_series(id) as val
FROM Test