摘要: 在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据,下面是它的一些应用示例。?12345DECLARE@TempTable table(UserID int, UserName nvarchar(50));insertinto@TempTable (UserID,UserName) values(1,'a')insertinto@TempTable (UserID,UserName) values(2,'b')selectUserID,UserName from@TempTable FORXML PATH运行这段脚本,将生 阅读全文
posted @ 2013-04-30 02:07 小开的一天 阅读(162) 评论(0) 推荐(0) 编辑
摘要: Sql代码createtabletb([id]int,[name]varchar(2))insertintotbselect1,'aa'unionallselect2,'bb'unionallselect1,'cc'unionallselect3,'dd'unionallselect2,'ee'select*fromtb--查询selectid,name=stuff((select','+namefromtbwhereid=t.idforxmlpath('')),1,1,'& 阅读全文
posted @ 2013-04-30 02:05 小开的一天 阅读(1061) 评论(0) 推荐(0) 编辑
摘要: 行列互转,是一个经常遇到的需求。实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现。在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和总结过。为了加深认识,再总结一次。行列互转,可以分为静态互转,即事先就知道要处理多少行(列);动态互转,事先不知道处理多少行(列)。 1 --创建测试环境 2 USE tempdb; 3 GO 4 5 IF OBJECT_ID('dbo.Orders') IS NOT NULL 6 DROP TABLE dbo.Orders; 7 GO 8 9 CREATE TABLE dbo.Or 阅读全文
posted @ 2013-04-30 01:44 小开的一天 阅读(191) 评论(0) 推荐(0) 编辑