如何將多行連接成一個字符串?如何在SQL Server 2008中將多行連接爲一個字符串?
查詢:
SELECT name FROM mytable;
結果:
name
----
kim
lee
park
cho
只是我想要的。
name
----
kim,lee,park,cho
不可能嗎?
如何將多行連接成一個字符串?如何在SQL Server 2008中將多行連接爲一個字符串?
查詢:
SELECT name FROM mytable;
結果:
name
----
kim
lee
park
cho
只是我想要的。
name
----
kim,lee,park,cho
不可能嗎?
嘗試這一個 -
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, '')
輸出 -
kim,lee,park,cho
對這種工作原理的解釋將對未來的訪問者有所幫助。 – Nubcake
試試這個
SELECT
name= substring((SELECT (', ' + Name)
FROM TableName t
FOR XML PATH('')
), 3, 1000) FROM mytable tn
我一直在這個清晨類似的東西,加入的情況下也會爲工作1返回行。希望這可以幫助。否則,按照鏈接發送給您的第一條評論。
Declare @NameList VarChar(MAX) = ''
select @NameList =
case when @NameList = ''
then coalesce(Name, '')
else @NameList + coalesce(',' + Name, '')
end
from mytable
print @NameList
本
重複 「MySQL的:多行作爲逗號分隔單列」 –
http://stackoverflow.com/questions/5196371/sql-query-concatenating-results-into-one-string – garf1eld