sql server 中合并某个字段值的实例
2018-10-12 14:11
288 查看
有表如下:
如何获得如下结果:
解法
使用xml转换
代码如下:
CREATE TABLE body(
ID int,
BODY nvarchar(20)
)
go
INSERT INTO body VALUES(1,'aaaa')
INSERT INTO body VALUES(2,'bbbb')
INSERT INTO body VALUES(1,'cccccc')
INSERT INTO body VALUES(3,'ddddd')
go
SELECT * FROM body
SELECT distinct a.ID,stuff((SELECT ','+BODY FROM body WHERE ID=a.ID FOR xml path('')),1,1,'') ASBODY
FROM
body a
--具体思路是这样的:
SELECT ','+BODY FROM body WHERE ID=a.ID FOR xml path('')
--这条语句的作用是按照a中的ID查找body表中ID=a.ID的所有记录,并把它转换成一个xml(关于将查询集转换成xml的文章,你可以去看看)
stuff((SELECT ','+BODY FROM body WHERE ID=a.ID FOR xml path('')),1,1,'')
--这条语句的作用是把生成的xml前面的一个逗号去掉并转化成标量值
--最后用一个distinct去掉重复的记录
相关文章推荐
- sql server 中合并某个字段值的实例
- SQL合并两个字段实例(多个)
- AWK 两个文件字段合并处理实例
- SQL Server 联表字段合并查询
- SQL Server 将Id相同的字段合并,并且以逗号隔开
- SQL Server2005合并字段相同的项的实例应用
- sql server 多个字段合并
- Expression构建DataTable to Entity 映射委托 sqlserver 数据库里面金额类型为什么不建议用float,实例告诉你为什么不能。 sql server 多行数据合并成一列 C# 字符串大写转小写,小写转大写,数字保留,其他除外 从0开始用U盘制作启动盘装Windows10系统(联想R720笔记本)并永久激活方法 纯CSS打造淘宝导航菜单栏 C# Winform
- Sql Server中批量更新某一已经有值的字段为Null(实例)!
- sql server 中某个字段值合并【转】
- sql server 中拥有相同字段值的记录某个字段合并问题解答
- sql server 中某个字段值合并【转】
- sql server 2005 A字段相同数据的B字段合并
- sql server同一字段多条记录的合并( sql server 2008以上)
- SQL Server中的字段合并
- sql server 合并字段值的一般做法,共三种
- Sql Server中把一个变量作为临时表中的字段!(实例)
- SQL SERVER中 用FOR XML PATH将查询结果以XML输出 然后应用于 sql 合并字段功能介绍