相关疑难解决方法(0)

什么是最常见的SQL反模式?

我们所有使用关系数据库的人都已经学习(或正在学习)SQL是不同的.引出期望的结果,并且有效地进行,涉及一个繁琐的过程,其部分特征是学习不熟悉的范例,并发现我们最熟悉的一些编程模式在这里不起作用.您见过(或自己承诺)的常见反模式有哪些?

sql anti-patterns

226
推荐指数
28
解决办法
7万
查看次数

使用回车换行符将多行合并到一列中

下面的代码(我从这里得到的)很好地将多个字段合并在一起,用逗号分隔它们.

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,''",但我不知道要放什么值.

任何帮助将不胜感激.

谢谢!

sql-server

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

anti-patterns ×1

sql ×1

sql-server ×1