• 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