加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 将多行合并到一列而不重复

发布时间:2020-12-12 16:30:19 所属栏目:MsSql教程 来源:网络整理
导读:我正在处理一个查询,将从表中收集数据并显示报表的数据. 数据如下所示: Player Score001 10001 20002 20002 20001 10002 10003 20002 20001 10 我想要这样显示它 Player Score001 10,20002 10,20003 20 但是我得到的就是这样的分数列中的所有数据的组合列表
我正在处理一个查询,将从表中收集数据并显示报表的数据.

数据如下所示:

Player Score
001      10
001      20
002      20
002      20
001      10
002      10
003      20
002      20
001      10

我想要这样显示它

Player Score
001    10,20
002    10,20
003    20

但是我得到的就是这样的分数列中的所有数据的组合列表

Player Score
001    10,20,10,10
002    20,20
003    20

有没有人有一个想法如何使这项工作?

解决方法

对于SQL Server,您可以使用:
select player,stuff((SELECT distinct ',' + cast(score as varchar(10))
           FROM yourtable t2
           where t2.player = t1.player
           FOR XML PATH('')),1,'') 
from yourtable t1
group by player

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读