有表结构如下:

这时,要求显示所有学生的爱好的结果集,代码如下:

SELECT B.name,LEFT(StuList,LEN(StuList)-1) as hobby FROM (
SELECT name,
(SELECT hobby+',' FROM student
WHERE name=A.name
FOR XML PATH('')) AS StuList
FROM student A
GROUP BY name
) B

结果:

因为有特殊字符,所以转义了,不转义使用   ,TYPE).value('.','NVARCHAR(MAX)'),如下:

SELECT B.name,LEFT(StuList,LEN(StuList)-1) as hobby FROM (
SELECT name,
(SELECT hobby+',' FROM student
WHERE name=A.name
FOR XML PATH(''),TYPE).value('.','NVARCHAR(MAX)') AS StuList
FROM student A
GROUP BY name
) B

结果:

SQL Server中将多行数据拼接为一行数据并且有特殊字符的更多相关文章

  1. SQL Server中将多行数据拼接为一行数据(一个字符串)

    表A中id与表B中aid为一对多的关系 例如: 表A: id name a1 tom a2 lily a3 lucy 表B: id aid value b1 a1 B1 b2 a1 B2 b3 a2 ...

  2. Sql server 中将数据行转列列转行(二)

    老规矩,先弄一波测试数据,数据填充代码没有什么意义,先折叠起来: /* 第一步:创建临时表结构 */ CREATE TABLE #Student --创建临时表 ( StuName ), --学生名称 ...

  3. 关于SQL Server将一列的多行内容拼接成一行的问题讨论

    http://blog.csdn.net/rolamao/article/details/7745972 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我 ...

  4. SQL Server将一列的多行内容拼接成一行的问题讨论

    转自http://blog.csdn.net/rolamao/article/details/7745972 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出 ...

  5. SQL SERVER将多行数据合并成一行(转载)

    昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes  ep_name A ...

  6. SQL Server将一列的多行内容拼接成一行

    昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes  ep_name A ...

  7. ms sql server,oracle数据库实现拼接一列的多行内容

    项目中要将查询出的一列的多行内容拼接成一行,如下图:ypmc列. ms sql server: 网上查到相关资料如下:http://blog.csdn.net/rolamao/article/deta ...

  8. SQL Server获取指定行的数据

    SQL Server获取指定行(如第二行)的数据   --SQL Server获取指定行(如第二行)的数据-- --法一(对象法)-- select * from ( select * , numbe ...

  9. 通过DBCC Page查看在SQL Server中哪行数据被锁住了?

    原文:通过DBCC Page查看在SQL Server中哪行数据被锁住了? 如何查看被锁的是哪行数据?通过dbcc page可以. 要想明白这个问题: 首先,需要模拟阻塞问题,这里直接模拟了阻塞问题的 ...

随机推荐

  1. centos使用163 yum源

    备份# cp /etc/yum.repos.d/CentOS-Base.repo  /etc/yum.repos.d/CentOS-Base.repo.bak修改# vi /etc/yum.repos ...

  2. poj-3253-Fence Repair(哈夫曼)

    /* Fence Repair Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 19914 Accepted: 6314 Desc ...

  3. MySQL与PostgreSQL相比哪个更好?

    网上已经有很多拿PostgreSQL与MySQL比较的文章了,这篇文章只是对一些重要的信息进行下梳理.在开始分析前,先来看下这两张图: MySQL MySQL声称自己是最流行的开源数据库.LAMP中的 ...

  4. linux下创建具有root权限的账户

    http://blog.chinaunix.net/uid-24631445-id-2981034.html

  5. 基础 ByteBuffer 和 ByteBuf

    缓冲区 ByteBuffer buffer = ByteBuffer.allocate(); ByteBuf https://www.jianshu.com/p/3fbf54b8e8ec

  6. Windows和Linux双系统下完美卸载linux

    装了Windows和linux双系统的朋友,在后期要删除linux是个比较头痛的问题,因为MBR已经被linux接管,本文的目的是如何在windows 和linux双系统下,简单,完美地卸载linux ...

  7. vue.js常见面试题及常见命令介绍

    Vue.js介绍 Vue.js是JavaScript MVVM(Model-View-ViewModel)库,十分简洁,Vue核心只关注视图层,相对AngularJS提供更加简洁.易于理解的API.V ...

  8. 【转】深入了解CPU两大架构ARM与X86

    来自:https://blog.csdn.net/u014641018/article/details/53484565 重温下CPU是什么 中央处理单元(CPU)主要由运算器.控制器.寄存器三部分组 ...

  9. 并发之CAS无锁技术

        CAS算法即是:Compare And Swap,比较并且替换:     CAS算法存在着三个参数,内存值V,旧的预期值A,以及要更新的值B.当且仅当内存值V和预期值B相等的时候,才会将内存值 ...

  10. Unity Editor(一)OnInspectorGUI的重写与面板的创建

    http://blog.csdn.net/husheng0/article/details/52568027