【T-SQL系列】FOR XML PATH 语句的应用
DECLARE @TempTable TABLE
(
UserID INT ,
UserName NVARCHAR(50)
);
INSERT INTO @TempTable
( UserID, UserName )
VALUES ( 1, 'a' )
INSERT INTO @TempTable
( UserID, UserName )
VALUES ( 2, 'b' ) SELECT UserID ,
UserName
FROM @TempTable
FOR XML PATH --其实PATH() 括号内的参数是控制节点名称的
SELECT UserID ,
UserName
FROM @TempTable
FOR XML PATH('lzy') --这样就不显示上级节点了
SELECT UserID ,
UserName
FROM @TempTable
FOR XML PATH('') --大家可以根据自己需要的格式进行组合
SELECT CAST(UserID AS VARCHAR) + '' ,
UserName + ''
FROM @TempTable
FOR XML PATH('') SELECT CAST(UserID AS VARCHAR) + ',' ,
UserName + '' ,
';'
FROM @TempTable
FOR XML PATH('') SELECT '{' + CAST(UserID AS VARCHAR) + ',' ,
'"' + UserName + '"' ,
'}'
FROM @TempTable
FOR XML PATH('')
对应结果集:
下面是一个数据统计的应用,希望大家可以通过下面的实例想到更多的应用
DECLARE @T1 TABLE
(
UserID INT ,
UserName NVARCHAR(50) ,
CityName NVARCHAR(50)
);
INSERT INTO @T1
( UserID, UserName, CityName )
VALUES ( 1, 'a', '上海' )
INSERT INTO @T1
( UserID, UserName, CityName )
VALUES ( 2, 'b', '北京' )
INSERT INTO @T1
( UserID, UserName, CityName )
VALUES ( 3, 'c', '上海' )
INSERT INTO @T1
( UserID, UserName, CityName )
VALUES ( 4, 'd', '北京' )
INSERT INTO @T1
( UserID, UserName, CityName )
VALUES ( 5, 'e', '上海' ) SELECT *
FROM @T1 SELECT CityName ,
( SELECT UserName + ','
FROM @T1
WHERE CityName = A.CityName
FOR
XML PATH('')
) AS UserList
FROM @T1 A
GROUP BY CityName --生成结果(每个城市的用户名) SELECT B.CityName ,
LEFT(UserList, LEN(UserList) - 1)
FROM ( SELECT CityName ,
( SELECT UserName + ','
FROM @T1
WHERE CityName = A.CityName
FOR
XML PATH('')
) AS UserList
FROM @T1 A
GROUP BY CityName
) B
对应结果集:
【T-SQL系列】FOR XML PATH 语句的应用的更多相关文章
- SQL Server FOR XML PATH 语句的应用---列转行
经常在论坛看到高手使用了 for xml path,由于是搜索一下,记录了详细的使用方法.在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据,下面是它的一些应用 ...
- 灵活运用 SQL SERVER FOR XML PATH 转
灵活运用 SQL SERVER FOR XML PATH FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些 ...
- 问题:sqlserver有没有类似Oracle的LISTAGG;结果: 灵活运用 SQL SERVER FOR XML PATH
灵活运用 SQL SERVER FOR XML PATH FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前 ...
- 使用 SQL的 for xml path来进行字符串拼接
本篇主要讲怎么利用SQL的FOR XML PATH 参数来进行字符串拼接,FOR XML PATH的用法很简单,它会以xml文件的形式来返回数据. 我的讲解步骤: 1:构造初始数据 2:提出问题 3: ...
- 二、sql新增后返回主键|sql 使用 FOR XML PATH实现字符串拼接|sql如果存在就修改不存在就新增
一.sql新增后返回主键 1,返回自增的主键: INSERT INTO 表名 (字段名1,字段名2,字段名3,…) VALUES (值1,值2,值3,…) SELECT @@IDENTITY 2,返回 ...
- 使用SQL SERVER FOR XML PATH将多个结果集转换成一行并进行去重处理
在一个医药行业的系统中需要根据患者的接触记录ID获取不同接触类型的集合,效果像这样 --患者接触记录信息,一个患者可以有N个不同的接触记录,每个接触记录又有N个接触类型记录 IF OBJECT ...
- sql 使用 FOR XML PATH实现字符串拼接
sql中经常需要把多个行数据合成一行下面是利用 FOR XML PATH来实现的简单介绍. 1,把图一的转换为图二: SELECT articleID, (),tagID)+',' FROM arti ...
- Sql Server FOR XML PATH
FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...
- 灵活运用 SQL SERVER FOR XML PATH
FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...
随机推荐
- Ubuntu12.04 安装Samba
Ubuntu12.04 安装Samba Ubuntu12.04 安装Samba 本教程介绍了在Ubuntu12.04安装Samba文件服务器,以及如何配置它通过SMB协议共享文件,以及如何将用户添加. ...
- WordPress博客系统搜索引擎优化seo全攻略方法
WordPress的文章.评论等很多数据都是存放在数据库的,所以搭建wordpress网站的时间,网站的空间不需要多大,而数据库一定要充足,而在WordPress数据库中主要使用 wp_posts 表 ...
- C#:只运行一个程序
一.通过系统事件 1.实现如下: using System; using System.Collections.Generic; using System.Linq; using System.Tex ...
- c#对话框
OpenFileDialog open = new OpenFileDialog();//创建对话框 open.InitialDirectory = @"C:\Documents and S ...
- (翻译)理解Java当中的回调机制
原文地址:http://cleancodedevelopment-qualityseal.blogspot.com/2012/10/understanding-callbacks-with-java. ...
- Cookie机制(会话cookie和持久化cookie)在客户端保持HTTP状态信息的方案
1. Cookie只有一个name和一个value,不同于map;购物车设计的时候需要cookie,获取购物车的cookie id,以便于将物品多次放入购物车: 2.cookie获取了其地址,并且可以 ...
- Maya Calendar 分类: POJ 2015-06-11 21:44 12人阅读 评论(0) 收藏
Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 70016 Accepted: 21547 D ...
- ural 1106,二分图染色,DFS
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1106 乍一眼看上去,好像二分图匹配,哎,想不出和哪一种匹配类似,到网上查了一下,DFS染 ...
- 为测试框架model类自动生成xml结果集
问题:有大量类似于theProductId这样名字的字符串需要转换成the_product_id这种数据库column名的形式. 思路:见到(见)大写字母(缝)就插入(插)一个“_”字符(针)进去,最 ...
- 2016年10月14日 星期五 --出埃及记 Exodus 18:25
2016年10月14日 星期五 --出埃及记 Exodus 18:25 He chose capable men from all Israel and made them leaders of th ...