宠辱不惊,闲看庭前花开花落
去留无意,漫随天外云卷云舒


数据库运维农民工,有兴趣可以关注我的
微信公众号:『SQL数据库运维』

SQL SERVER数据库内 FOR XML PATH 函数用法

把自己点点滴滴的学习记录下来!!!!

一.FOR XML PATH 简单介绍

那么还是首先来介绍一下FOR XML PATH ,假设现在有一张兴趣爱好表(TBJTXXCE)用来存放就诊患者信息,表结构如下:

 

 

 接下来我们来看应用FOR XML PATH的查询结果语句如下:

SELECT * FROM TBJTXXCE  FOR XML PATH

 

 由此可见FOR XML PATH 可以将查询结果根据行输出成XML各式!

      那么,如何改变XML行节点的名称呢?代码如下:   

 SELECT * FROM TBJTXXCE  FOR XML PATH('xiyouji')

 

 以上为FOR XML PATH的基本语法操作,现在在具体的实际应用中的体现,举例如下:

现我们想知道“猪八戒”就诊了哪些科室,并分别在这些科室的挂号种类是什么,脚本如下:

SELECT B.CXM,CKSMC,LEFT(CGHZL,LEN(CGHZL)-1) as CGHZL FROM (
SELECT CXM,CKSMC,
(SELECT CGHZL+',' FROM TBJTXXCE
WHERE CKSMC=A.CKSMC
FOR XML PATH('')) AS CGHZL
FROM TBJTXXCE A
GROUP BY CXM,CKSMC
) B

脚本运行结果:

 

外层 SELECT 语句LEFT(CGHZL,LEN(CGHZL)-1) as CGHZL去掉CGHZL后的逗号,

内层语句执行结果:

SELECT CXM,CKSMC,
(SELECT CGHZL+',' FROM TBJTXXCE
WHERE CKSMC=A.CKSMC
FOR XML PATH('')) AS CGHZL
FROM TBJTXXCE A
GROUP BY CXM,CKSMC

 

posted @   蓝涩街灯  阅读(413)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示