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
相关推荐
麦壳饼36 分钟前
架构深度解析:SonnetDB 的写入与查询路径
数据库·sonnetdb
gudufy1 小时前
ASP.NET Core 多租户如何动态创建数据库?数据库初始化怎么做?
数据库·blazor·admin
Data-Miner2 小时前
离线AI制表:模型适配与脚本固化实操
大数据·数据库·人工智能·excel
xixiaoyunya2 小时前
数据库三种备份方式怎么组合?从原理到落地的完整方案
数据库
2501_933670792 小时前
2027届数学与应用数学转经营分析:SQL、财务指标与业务指标补齐路线
数据库·sql·数学建模
我科绝伦(Huanhuan Zhou)2 小时前
oracle坏块导致备份不了
数据库·oracle·ffmpeg
IT大白鼠3 小时前
图数据库系列 · 第 08 篇——面试收官:高频题与全景总结
数据库·面试·职场和发展·nosql·图数据库
xixiaoyunya3 小时前
定时备份数据库怎么规划周期?一套“少打扰业务、真能恢复“的策略
数据库
liangshanbo12153 小时前
主系统登录后,子系统怎么实现自动登录?
java·网络·数据库
许彰午3 小时前
05-静默安装常见报错与解决
数据库