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
相关推荐
合方圆~小文24 分钟前
高性能20倍变焦球机转动功能监控设备
数据结构·数据库·数码相机·模块测试
q***58191 小时前
【SQL】MySQL中的字符串处理函数:concat 函数拼接字符串,COALESCE函数处理NULL字符串
数据库·sql·mysql
百***26631 小时前
Tomcat的server.xml配置详解
xml·java·tomcat
懒羊羊不懒@1 小时前
【MySQL | 基础】多表查询
数据库·sql·mysql
百***6972 小时前
redis 使用
数据库·redis·缓存
mit6.8242 小时前
[Column] 构建十亿/s级DB | 索引DB&RTDB | Kafka 为中心 | Rust 构建引擎
数据库
q***0562 小时前
在Mysql环境下对数据进行增删改查
数据库·mysql
爬山算法2 小时前
Redis(124)Redis在电商系统中的应用有哪些?
数据库·redis·缓存
武子康2 小时前
Java-170 Neo4j 事务、索引与约束实战:语法、并发陷阱与速修清单
java·开发语言·数据库·sql·nosql·neo4j·索引
数据库学啊3 小时前
靠谱的时序数据库哪家技术强
数据库·时序数据库