1 --创建测试表
 2 CREATE TABLE [dbo].[TestRows2Columns](
 3     [Id] [int] IDENTITY(1,1) NOT NULL,
 4     [UserName] [nvarchar](50) NULL,
 5     [Subject] [nvarchar](50) NULL,
 6     [Source] [numeric](18,0) NULL
 7 )
 8 GO
 9
10 --插入测试数据
11 INSERT INTO [TestRows2Columns] ([UserName],[Subject],[Source])
12     SELECT N'张三',N'语文',60  UNION ALL
13     SELECT N'李四',N'数学',70  UNION ALL
14     SELECT N'王五',N'英语',80  UNION ALL
15     SELECT N'王五',N'数学',75  UNION ALL
16     SELECT N'王五',N'语文',57  UNION ALL
17     SELECT N'李四',N'语文',80  UNION ALL
18     SELECT N'张三',N'英语',100
19 GO
20
21 SELECT * FROM [TestRows2Columns]
22
23
24
25
26 --1 通过 select 累加
27 DECLARE @sql_col VARCHAR(8000)
28 SELECT @sql_col = ISNULL(@sql_col + ',','') + QUOTENAME([Subject]) FROM TestRows2Columns
29 GROUP BY [Subject]
30
31 SELECT @sql_col
32
33
34
35
36 --2 通过 FOR xml path('') 合并字符串记录
37 SELECT
38     STUFF(
39         (SELECT '#' + Subject
40          FROM TestRows2Columns
41          WHERE UserName = '王五'
42          FOR xml path('')
43         ),1,1,''
44         )
45
46
47 --3 分组合并字符串记录
48 SELECT
49     UserName,
50     Subject = (
51                STUFF(
52                     (SELECT '#' + Subject
53                      FROM TestRows2Columns
54                      WHERE UserName = A.UserName
55                      FOR xml path('')
56                     ),1,1,''
57                     )
58                  )
59 FROM TestRows2Columns A
60 GROUP by UserName

转载于:https://www.cnblogs.com/xiangzhong/p/8150083.html

sqlserver字符串多行合并为一行相关推荐

  1. mysql和sqlserver共存_mysql 和sqlserver的 多行合并成一行

    mysql 和sqlserver的 多行合并成一行 mysql  多行合并: mysql 内置函数 group_concat(exper  SEPARATOR " " ) expe ...

  2. python如何输入多行数据合并_python 实现将txt文件多行合并为一行并将中间的空格去掉方法...

    有一个txt文本如下: 151 151 1234561 156421 214156 1523132 031320 现希望将两行合并为一行,并将中间所有的空格都去掉: (python编程第十章) 代码如 ...

  3. Sublime Text3 多行合并为一行

    快捷键 说明 CTRL+ J 多行合并为一行 ctrl+d 双击选中关键词或者关键词部分,在输入快捷键关键字就会一个一个选中,就可以同时编辑

  4. ELK下logstash收集java日志,多行合并成一行

    介绍 使用codec的multiline插件实现多行匹配,这是一个可以将多行进行合并的插件,而且可以使用what指定将匹配到的行与前面的行合并还是和后面的行合并. 1.java日志收集测试 input ...

  5. [Pandas] 多行合并成一行

    美图欣赏2022/09/16 在最近的需求开发中,有如下需求需要进行修改,数据源demo如下所示 根据字段'material'进行分组,对字段'site'进行合并,内容之间用逗号(,)分隔,再进行去重 ...

  6. python将txt文件多行合并为一行并将中间的空格去掉

    有一个txt文本如下: 151 151 1234561 156421 214156 1523132 031320 现希望将两行合并为一行,并将中间所有的空格都去掉; (python编程第十章) 代码如 ...

  7. 利用 T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符

    T-sql 有一个for xml path('')的从句能把多行结果合并到一行,并成为xml 格式 比如有一张表tb有两列,其格式和数据为: id value ----- 1 aa 1 bb 2 aa ...

  8. mysql把相同id的多行合并到一行_mysql中将多行数据合并成一行数据

    一个字段可能对应多条数据,用mysql实现将多行数据合并成一行数据 例如:一个活动id(activeId)对应多个模块名(modelName),按照一般的sql语句: 1 SELECT am.acti ...

  9. (总结)Linux下多行合并成一行,中间加分隔符

    将某个目录下的文件合并成一行,中间用冒号(:)作为分隔符 1.paste ls lib | sed 's@^@lib/@g' | paste -s -d ":" 2. tr ls  ...

最新文章

  1. 如何恢复默认域策略和默认域控制器策略
  2. NOIp #2011
  3. numpy 拼接_数据分析-numpy的拼接与交换
  4. 生产环境使用HBase,你必须知道的最佳实践
  5. 当Node.js遇见Docker
  6. 《HTTP权威指南》学习总结1——HTTP协议概述
  7. java将数字转为大写(1转为一)
  8. 理解运放的虚断和虚短
  9. Java开发快递物流项目(5)
  10. 功率因数cosφ仪表盘
  11. HIT CSAPP hello的一生
  12. 含有js的英文单词_常用的js单词整理
  13. Idea设置默认不折叠一行的函数
  14. 每个架构师都应该了解的理论:康威定律
  15. 高光谱解混与变化检测专题
  16. 如何甄别有价值的数据
  17. 2.Visual Studio下载和安装
  18. 上大学的四年---以此结束四年的时光
  19. HUAWEI鸿蒙操作系统怎么样
  20. Oracle spm

热门文章

  1. 【CodeForces - 518D】Ilya and Escalator(概率dp,数学期望)
  2. 【CodeForces - 27E】Number With The Given Amount Of Divisors (数论,数学,反素数)
  3. 1.Hello,Python
  4. IP、TCP、UDP、HTTP头部信息
  5. linux c 禁止对外通信,Linux C套接字:在recv调用时被阻止
  6. 养成让自己进步的10个习惯
  7. Android开发(3) | 权限和内容提供器的应用——调用相机和相册
  8. leetcode63 不同路径II
  9. UNIX(进程间通信):01---Linux进程通信方式
  10. 算法(2)-二叉树的遍历(递归/迭代)python实现