SQL Server中使用SQL语句实现把重复行数据合并为一行并用逗号分隔


本文整理自网络,侵删。

一.定义表变量

代码如下:

DECLARE @T1 table
(
UserID int ,
UserName nvarchar(50),
CityName nvarchar(50)
);

insert into @T1 (UserID,UserName,CityName) values (1,'a','上海')
insert into @T1 (UserID,UserName,CityName) values (2,'b','北京')
insert into @T1 (UserID,UserName,CityName) values (3,'c','上海')
insert into @T1 (UserID,UserName,CityName) values (4,'d','北京')
insert into @T1 (UserID,UserName,CityName) values (5,'e','上海')

select * from @T1

-----最优的方式
SELECT CityName,STUFF((SELECT ',' + UserName FROM @T1 subTitle WHERE CityName=A.CityName FOR XML PATH('')),1, 1, '') AS A
FROM @T1 A
GROUP BY CityName

阅读剩余部分

相关阅读 >>

sqlserver为标识列指定显式值

教你使用java获取当前时间戳的详细代码

详解sql中group by的用法

sql server 2008 处理隐式数据类型转换在执行计划中的增强

mysql与oracle 差异比较之七 其它

navicat怎么执行sql

php中sql注入漏洞示例 sql注入漏洞修复

获取mssql 表结构中字段的备注、主键等信息的sql

sql语句中的with as该怎么用

mssql批量插入数据优化详细

更多相关阅读请进入《sql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    正在狠努力加载,请稍候...