SQL中for xml path 的用法

1. 用法

是一种将查询结果转换为 XML 格式的方法。它可以将查询结果中的每一行转换为一个 XML 元素,并且可以指定元素的名称和属性。

2. 应用示例

有一张学生选修课程的表,如下图所示

希望整合成下图所示效果

sql 复制代码
--建表
if object_id('StudentInfo','u') is not null drop table StudentInfo
go
create table StudentInfo(
    学生姓名  varchar(10)
    ,选修课程      varchar(10)
)
go
insert into StudentInfo
values
('张三','拉丁')
,('张三','围棋')
,('李四','排球')
,('赵五','太极')
,('赵五','拉丁')
,('赵五','街舞')
go
select * from StudentInfo
--查询
select distinct a.学生姓名,
       stuff(  (
         select  ', ' + 选修课程
         from StudentInfo b
         where a.学生姓名= b.学生姓名
          for xml path ('') ),1,1,'') as 选修课程
from StudentInfo a
相关推荐
whn197735 分钟前
oracle的节点2无法启动asm实例 提示PMON terminating the instance due to error 481
数据库·oracle·wpf
AAA@峥1 小时前
Ceph 集群配置管理完整指南
运维·数据库·分布式·ceph
旺仔学长 哈哈1 小时前
基于SpringBoot的在线招聘测评系统的设计与实现----附源码35253+数据库文档
数据库·spring boot·后端·在线招聘
吴声子夜歌2 小时前
MongoDB 4.2——索引(二)
数据库·mongodb·索引
米码收割机2 小时前
【Python】Django恒达科技门户网站(源码+文档)【独一无二】
数据库·python·科技
艾莉丝努力练剑2 小时前
【MYSQL】MYSQL学习的一大重点:基本查询(下)
android·数据库·学习·mysql·面试·八股文
冰暮流星2 小时前
mysql之数据库创建,查询,删除,启用
数据库·mysql·oracle
GIS数据转换器2 小时前
智慧灌区管理平台
大数据·服务器·网络·数据库·人工智能·生活
777VG11 小时前
PostgreSQL +martin将多张表输出成一个 MVT
前端·数据库·postgresql
跟着珅聪学java11 小时前
MERGE INTO开发教程
sql