原文发布时间为:2010-10-20 -- 来源于本人的百度文章 [由搬家工具导入] 大家都知道在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据,下面是它的一些应用示例。复制代码 代码如下:DECLARE @TempTable table(UserID int , UserName nvarchar(50)); insert into @TempTable (UserID,UserName) values (1,'a') ins…
经常在论坛看到高手使用了 for xml path,由于是搜索一下,记录了详细的使用方法.在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据,下面是它的一些应用示例. )); ,'a') ,'b') 运行这段脚本 select UserID,UserName from @TempTable FOR XML PATH 将生成如下结果: <row> <UserID>1</UserID>  <UserName>a</U…
在Extjs中的GridPanel会有这样的情况,隐藏列会显示在menuDisabled中,但是这个一般没有什么用处,只是用于后台取值的作用,感兴趣的朋友可以了解下啊,希望本文对你有所帮助   在Extjs中的GridPanel会有这样的情况,隐藏列会显示在menuDisabled中 如下图: 但是这个一般没有什么用处,只是用于后台取值的作用. so 加一个属性:hideable:false就可以搞定了. { text: '用户ID', dataIndex: 'uid',align: 'cent…
DECLARE @TempTable TABLE ( UserID INT , UserName ) ); INSERT INTO @TempTable ( UserID, UserName ) , 'a' ) INSERT INTO @TempTable ( UserID, UserName ) , 'b' ) SELECT UserID , UserName FROM @TempTable FOR XML PATH --其实PATH() 括号内的参数是控制节点名称的 SELECT UserI…
=================================版权声明================================= 版权声明:原创文章 谢绝转载  请通过右侧公告中的“联系邮箱(wlsandwho@foxmail.com)”联系我 勿用于学术性引用. 勿用于商业出版.商业印刷.商业引用以及其他商业用途. 本文不定期修正完善. 本文链接:http://www.cnblogs.com/wlsandwho/p/5039358.html 耻辱墙:http://www.cnblo…
<DataGrid Height="Auto" Width="Auto"> <DataGrid.Columns> <DataGridTextColumn Binding="{Binding ItemName}" Header="Name" Width="2*" /> <DataGridTextColumn Binding="{Binding Ctreate…
use School --指定数据库 declare @min_id int --声明整数变量@x set @min_id=(select MIN(Id) from Students) --给变量@x赋初值为当前最小的Id值 while @min_id>0 begin update Students set Age=ROUND(RAND()*100,0) where Id=@min_id --round()四舍五入把原值转化为指定小数位数 --rand()取得是随机数 默认范围为(0·1) ra…
原文: http://njm.iteye.com/blog/795881 --使用 自连接.for xml path('')和stuff合并显示多行数据到一行中 --注 --1.计算列可以不用包含在聚合函数中而直接显示,如下面语句的val. --2.for xml path('') 应该应用于语句的最后面,继而生成xml. --3.for xml path('root')中的path参数是生成的xml最顶级节点. --4.字段名或是别名将成为xml的子节点,对于没有列名(字段+'')或是没有别名…
需求:每个平台分类下的门店,每个门店的名称.图片路径.评分,每个门店下的四个产品的名称.图片路径.评分 思路: 一开始门店动态化好写,用Ajax就行了.但是每个门店下面的产品,每个去请求一次查询有点不太现实. 一开始准备用每个门店的Id去发起请求,被自己蠢哭了. 在换个思路用sql语句吧 同时把这么多数据一把查出来.  就是把这两张表拼成一张表,把数据作为一行数据在用符号分割,前台在取出来. WITH td AS ( SELECT Hishop_Stores.StoreId , Hishop_S…
示例 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行,比如表中有两列数据 : 类别 名称 AAA 企业1 AAA 企业2 AAA 企业3 BBB 企业4 BBB 企业5 我想把这个表变成如下格式: 类别 名称 AAA 企业1,企业2,企业3 BBB 企业4,企业5 一开始挺头疼的(会了的肯定没有这种感觉,不会那必须是头疼啊(*^__^*) ),从网上找了点资料,算是找到一种比较简单方便的方法吧,现在大体总结一下…
本篇主要讲怎么利用SQL的FOR XML PATH 参数来进行字符串拼接,FOR XML PATH的用法很简单,它会以xml文件的形式来返回数据. 我的讲解步骤: 1:构造初始数据 2:提出问题 3:简单介绍FOR XML PATH 4:解答问题 1.构造初始数据 举出一个经典的学生课程例子,共有学生.课程与学生课程三张表. 表1:Student student_id student_name 1 张三 2 李四 3 王五 表2:Course course_id course_name 1 语言…
示例 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行,比如表中有两列数据 : 类别 名称 AAA 企业1 AAA 企业2 AAA 企业3 BBB 企业4 BBB 企业5 我想把这个表变成如下格式: 类别 名称 AAA 企业1,企业2,企业3 BBB 企业4,企业5 一开始挺头疼的(会了的肯定没有这种感觉,不会那必须是头疼啊(*^__^*) ),从网上找了点资料,算是找到一种比较简单方便的方法吧,现在大体总结一下…
--> 测试数据:#tbIF OBJECT_ID('TEMPDB.DBO.#tb') IS NOT NULL    DROP TABLE #tbGO CREATE TABLE #tb       (        [id] INT IDENTITY PRIMARY KEY ,        [name] VARCHAR(4),        [type] VARCHAR(10)       )INSERT  #tb        SELECT  '彪' , '流氓'        UNION A…
for xml path 用于合并与拆分 1.合并 很多时候需要在SQL Server中创建逗号分隔列表.这可以使用SQL Server的DOR XML PATH功能完成.与select语句一起使用时,FOR XML PATH生成一个xml.其示例如下所示.   1 2 3 4 5 6 DECLARE @tb TABLE(sno int identity,col1 varchar(10))   INSERT INTO @tb VALUES('a'),('b'),('c'),('d')   SEL…
转自: http://www.cnblogs.com/aolin/archive/2011/04/12/2014122.html 示例表 tb 数据如下 id value—————1 aa1 bb2 aaa2 bbb2 ccc 第一种 SELECT id, [val]=( SELECT [value] +',' FROM tb AS b WHERE b.id = a.id FOR XML PATH('') ) FROM tb AS a 第一种显示结果 1 aa,bb, 1 aa,bb, 2 aa…
在工作中出现的发送邮件的时候:因为邮件内容中有链接,并且多个拼接在一起的,于是用了for xml path().       但是,这样显示出来的链接时会将路径中的<,>,&符号转义为< > & 这样显示的路径在邮件中是不能进行链接的.        在网上查了很多资料后终于找到了一种方法:...FOR XML PATH(''),TYPE).value('.','NVARCHAR(MAX)')如下图比较…
FOR XML PATH 是sqlserver数据库的语法,能将查询出的数据转换成xml格式的数据. 首先,我们来看一个正常的查询: SELECT TOP 2 id, name,crDate FROM sys.sysobjects 查询出的是表格形式数据, 如果改成xml格式,则如下 SELECT TOP 2 id, name,crDate FROM sys.sysobjects FOR XML PATH('') 查询xml格式的数据.并且都是拼接到一个字段中. 我们还可以给xml的node自定…
LM Hash && NTLM Hash Windows操作系统通常使用两种方法对用户的明文进行加密处理,在域环境中,用户信息存储在ntds.dit中,加密后为散列值.Windows操作系统中的密码一般由两部分组成,一部分为LM Hash,另一部分为NTLM Hash.在Windows操作系统中,Hash的结构通常如下: username:RID:LM-HASH:NT-HASH LM Hash的全名为"LAN  Manager Hash",是微软为了提高Windows操…
FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主. 一.FOR XML PATH 简单介绍              那么还是首先来介绍一下FOR XML PATH ,假设现在有一张兴趣爱好表(hobby)用来存放兴趣爱好,表结构如下: 接下来我们来看应用FOR XML PATH的查询结果语句如下: SELECT * FROM @hobby FO…
FOR XML PATH 方法是用于将查询结果集以XML形式展示,这样展示方式的好处不言而喻.现在我要介绍的FOR XML PATH的"另类"用法. 首先,我们先来看看它的正常用法.下图是我们用到的一张TEST_PERSON表: 用FOR XML PATH方法查询,SQL语句如下: SELECT * FROM TEST_PERSON FOR XML PATH 显示结果如下: 展开结果可以看到如下图: 神奇吧!!!!细心的同学会注意到这个XML文件的行节点是<row>,如果需…
原文:SQL SERVER FOR 多列字符串连接 XML PATH 及 STUFF 本来用 Writer 写一篇关于一列多行合并的博客来的,结果快写完了时候,在一个插入代码时候,崩了,重新打开,居然连草稿都没有……哎,我也是无语了…… 于是没有心情再写,直接发一下代码,再顺便留几个其他博文的链接 1.FOR XML PATH http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html 2.STUFF http://www…
SQL Server中有提供一个FOR XML PATH的子句(不知道能不能叫函数),用来将查询结果行输出成XML格式,我们可以通过这个语法做一些变通实现一些特定的功能,比如说行转列.要会变通的话,当然首先是要知道FOR XML PATH的语法. FOR XML PATH的简单语法 假设有一个hobby表(爱好),表中有两个字段,一个是hobbyID(爱好id),一个是hName(爱好名称). 这样,我们执行一条最简单的带FOR XML PATH子句的SQL语句,看看查询出来的结果. SELEC…
SQL Server2005提供了一个新查询语法——For XML PATH(''),这个语法有什么用呢?想象一下这样一个查询需求:有两个表,班级表A.学生表B,要查询一个班级里有哪些学生?针对这个需求,方法有很多.举例一下两种:1.Join连接:2.For XML PATH(''). 为了大家方便体验效果,附上创建数据库的代码: --班级表 create table T_Class ( CNo int primary key not null identity,--班级编号 CName nva…
有时为避免循环操作数据库.列表展示等一些原因需要将数据及关联数据批量加载进行集中处理,一种解决办法可以使用FOR XML PATH将多行数据合并成一列,达到字段拼接的效果.例如有两个表, 部门表T_Dept: 员工表T_Emp: 需要查询每个部门下的员工姓名,查询语句: 1 SELECT ROW_NUMBER() OVER (ORDER BY DeptId) AS Row, DeptName 2 , LEFT(A.EmpName, LEN(A.EmpName) - 1) AS EmpName 3…
由于项目的原因,需要将一些记录分类汇总,但还要列出相关的明细,这样的需求我还是第一次遇到,蛋疼了,还是请求一下度娘吧.搜索一番还是有结果,请看以下例子: create table tb ([id] int,[name] varchar(2))insert into tbselect 1,'aa' union allselect 2,'bb' union allselect 1,'cc' union allselect 3,'dd' union allselect 2,'ee' select *…
临时表#t原始数据: 实现如下格式,即根据Province分组,把每个组对应的City列以某种格式展示: 实现方法: select t.Province,(select city+',' From #t where t.Province=province for xml path('')) as 城市群 from #t tgroup by t.Province 注: 如果要去掉每组城市群后面的逗号,有几种方法可以参考: --方法一:通过left去掉列最后一个字符select province,l…
[原地址] for xml path作用:将多行的查询结果,根据某一些条件合并到一行. 例:现有一张表 执行下面语句 select Department, (SELECT Employee+',' FROM People b WHERE b.Department=a.Department For XML Path('')) Student from People as a group by Department 得如下结果…
先看看自己弄得例子,SELECT sName+',',hoppy+','  FROM student2 where hoppy='游泳' FOR XML PATH('')--PATH后面跟的是行标题,前面搜索到的结果是列标题 这个是搜索游泳爱好的人的字符串连接起来,并加上爱好字符串,如果我想知道每项运动里面的人的爱好的人,和运动名称,那我可以写一个子查询去做哦.举例如下. select distinct hoppy ,(SELECT sName+',' FROM student2 where (…
create table tb ([id] )) insert into tb ,'aa' union all ,'bb' union all ,'cc' union all ,'dd' union all ,'ee' select * from tb --查询 select id, name=stuff((,,'') from tb t group by id 方法二: CREATE FUNCTION GET_STRING(@ID INT) RETURNS VARCHAR() AS BEGIN…