下面的代码(我从这里得到的)很好地将多个字段合并在一起,用逗号分隔它们.
select player,
stuff((SELECT distinct ', ' + cast(score as varchar(10))
FROM yourtable t2
where t2.player = t1.player
FOR XML PATH('')),1,1,'')
from yourtable t1
group by player
Run Code Online (Sandbox Code Playgroud)
我需要用回车换行替换逗号.我尝试了下面的代码,但它开始用这些字符分隔条目:"#x0D;"
select player,
stuff((SELECT distinct CHAR(13)+CHAR(10) + cast(score as varchar(10))
FROM yourtable t2
where t2.player = t1.player
FOR XML PATH('')),1,1,'')
from yourtable t1
group by player
Run Code Online (Sandbox Code Playgroud)
我怀疑问题出在"FOR XML PATH('')),1,1,''",但我不知道要放什么值.
任何帮助将不胜感激.
谢谢!
jer*_*jer 11
您实际上可以替换STUFF结果的逗号.
试试这个:
select player,
replace(stuff((SELECT distinct ', ' + cast(score as varchar(10))
FROM yourtable t2
where t2.player = t1.player
FOR XML PATH('')),1,1,''), ',', char(13) + char(10))
from yourtable t1
group by player
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13550 次 |
| 最近记录: |