How to concat many rows into one string in SQL Server 2008?

database, sql-server, sql-server-2008

Solution

Try this one -

DECLARE @temp TABLE (name NVARCHAR(50))

INSERT INTO @temp (name)
VALUES ('kim'),('lee'),('park'),('cho')

SELECT STUFF((
    SELECT ',' + name
    FROM @temp
    FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')

Output -

kim,lee,park,cho

Problem

How to concat many rows into one strings? Query: ``` SELECT name FROM mytable; ``` Result: ``` name ---- kim lee park cho ``` Just I want. ``` name ---- kim,lee,park,cho ``` Impossible?

Original source

Related problems