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
相关推荐
自己的九又四分之三站台几秒前
向量数据库PGVector实操
数据库
sa100272 分钟前
walmart沃尔玛关键词商品搜索实现逻辑
数据库·python
handsome123414 分钟前
Navicat 查数据 乱码 解决 的经历
数据库·mysql·oracle
AllData公司负责人19 分钟前
【亲测好用】数仓建模平台能力演示
大数据·数据库·算法
上海合宙LuatOS41 分钟前
LuatOS框架的使用(2)
java·服务器·开发语言·前端·数据库·嵌入式硬件·php
一起养小猫42 分钟前
Flutter for OpenHarmony 实战 文件存储与数据库操作完全指南
开发语言·jvm·数据库·spring·flutter·harmonyos
2301_7657031443 分钟前
深入理解Python的if __name__ == ‘__main__‘
jvm·数据库·python
浒畔居44 分钟前
使用Docker容器化你的Python应用
jvm·数据库·python
橙露1 小时前
数据库运维核心:MySQL主从复制与读写分离的部署与维护
运维·数据库·mysql
辉辉要奋斗1 小时前
MySQL安装出现This application requires Visual Studio 2019 x64Redistributable,Please install the Redistri
数据库·mysql·visual studio