2013-08-07 5 views

Antwort

38

Versuchen Sie dieses -

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, '') 

Ausgang -

kim,lee,park,cho 
+4

Eine Erklärung, wie das funktioniert, wäre für zukünftige Besucher hilfreich. – Nubcake

8

Versuchen Sie, diese

SELECT 
name= substring((SELECT (', ' + Name) 
         FROM TableName t 
         FOR XML PATH('') 
        ), 3, 1000) FROM mytable tn 
10

Ich habe auf etwas ähnliches heute morgen arbeiten, wird der Fall Zugabe für auch arbeiten 1 zurückgegebene Zeile. Hoffe das hilft. Sonst folge dem Link den dir der erste Kommentar geschickt hat.

Declare @NameList VarChar(MAX) = ''  
select @NameList = 
    case when @NameList = '' 
     then coalesce(Name, '') 
     else @NameList + coalesce(',' + Name, '') 
    end 
from mytable 
print @NameList 

Ben

Verwandte Themen