Query
SELECT Name,
(SELECT SUBSTRING((SELECT ', '+CAST(Score AS VARCHAR(MAX)) FROM my_table FOR XML Path('')) ,2,1000)) AS Score
FROM my_table
GROUP BY name;
Fiddle for reference
If you are using SQL Server 2000
, then try to create a function as follows.
CREATE TABLE my_table(name VARCHAR(50),score INT);
INSERT INTO my_table VALUES('Name1',50);
INSERT INTO my_table VALUES('Name1',70);
Function
CREATE FUNCTION commaseparated(@name VARCHAR(MAX))
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE @score VARCHAR(MAX)
SELECT @score = COALESCE(@score + ', ', '') + CAST(score AS VARCHAR(MAX))
FROM my_table
WHERE name = @name
RETURN @score
END
SELECT
name,
score = dbo.commaseparated(name)
FROM my_table
GROUP BY name;