我们所有使用关系数据库的人都已经学习(或正在学习)SQL是不同的.引出期望的结果,并且有效地进行,涉及一个繁琐的过程,其部分特征是学习不熟悉的范例,并发现我们最熟悉的一些编程模式在这里不起作用.您见过(或自己承诺)的常见反模式有哪些?
下面的代码(我从这里得到的)很好地将多个字段合并在一起,用逗号分隔它们.
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,''",但我不知道要放什么值.
任何帮助将不胜感激.
谢谢!