Jak połączyć wiele wierszy w jeden ciąg?Jak połączyć wiele wierszy w jeden ciąg w SQL Server 2008?
Zapytanie:
SELECT name FROM mytable;
Wynik:
name
----
kim
lee
park
cho
tylko chcę.
Niemożliwe?
Jak połączyć wiele wierszy w jeden ciąg?Jak połączyć wiele wierszy w jeden ciąg w SQL Server 2008?
Zapytanie:
SELECT name FROM mytable;
Wynik:
name
----
kim
lee
park
cho
tylko chcę.
Niemożliwe?
Spróbuj ten -
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, '')
Wyjście -
kim,lee,park,cho
Wyjaśnienie, jak to działa, byłoby pomocne dla przyszłych użytkowników. – Nubcake
Spróbuj
SELECT
name= substring((SELECT (', ' + Name)
FROM TableName t
FOR XML PATH('')
), 3, 1000) FROM mytable tn
pracuję nad czymś podobnym to rano, dodając sprawę będzie również działać na 1 zwrócił wiersz. Mam nadzieję że to pomoże. W przeciwnym razie skorzystaj z linku, do którego wysłałeś pierwszy komentarz.
Declare @NameList VarChar(MAX) = ''
select @NameList =
case when @NameList = ''
then coalesce(Name, '')
else @NameList + coalesce(',' + Name, '')
end
from mytable
print @NameList
ben
duplikat "MySQL: Multiple wiersz jako oddzielony przecinkami jednorzędowe" –
http://stackoverflow.com/questions/5196371/sql-query-concatenating-results-into-one-string – garf1eld