SQL 查询数据后行数据合并为列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 查询数据后行数据合并为列相关的知识,希望对你有一定的参考价值。

SQL 将查询后得到的多行数据中的某一列转为一列,如原查找后的结果为:

USER_NAME

张三

李四

王五

 

现要将其合并为:

CUSTOMER

张三,李四,王五

SQL语句如下:select STUFF((select ‘,‘+USER_NAME from tbale where USER_NAME = ‘‘ for xml path(‘‘)), 1, 1, ‘‘) CUSTOMER

 

其中,stuff为sql封装好的一个方法函数,用于删除指定长度的字符并在指定的起始点插入另一组字符。

语法:
STUFF ( character_expression , start , length , character_expression )

start, 是一个整形值,指定删除和插入的开始位置

length, 是一个整数,指定要删除的字符数

返回类型: 如果 character_expression 是一个支持的字符数据类型,则返回字符数据。

以上是关于SQL 查询数据后行数据合并为列的主要内容,如果未能解决你的问题,请参考以下文章

插入和提交后行从 SQL Server 表中消失

将特定行转换为列的 SQL 查询

SQL 将行合并为列

ANSI sql将行动态转换为列数据

如何在sql中将行转换为列

使用带有子查询的最大查询将SQL / PL行转换为列