惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
J
Java Code Geeks
Martin Fowler
Martin Fowler
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
博客园 - 【当耐特】
Y
Y Combinator Blog
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog
G
Google Developers Blog
博客园 - 三生石上(FineUI控件)
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
罗磊的独立博客
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 司徒正美

博客园 - Bruce Xiao

select 语句的执行顺序 时间复杂度计算方法 活动图与流程图的区别 ASP.NET 应用程序生命周期概述 Tab标签 - Bruce Xiao - 博客园 过滤数据集DataTable方法 - Bruce Xiao - 博客园 Abstract 与 Vitrual 用法 在同一个DataSet中添加多个DataTable - Bruce Xiao - 博客园 C#文件读写常用类介绍[转] 获取当月的天数 谈SQL SERVER数据库中的索引 C#读取二进制字节流 Oracle字符函数 分组合并字符串 分页控件 .net控件开发系列 事件处理机制 三个接口两个方法 xml讀寫實例 - Bruce Xiao - 博客园 SQL2005 分頁存儲過程 对xml操作的主要方法[轉] - Bruce Xiao - 博客园
SQL2005 新功能:行列轉換
Bruce Xiao · 2007-06-18 · via 博客园 - Bruce Xiao

--Create the table and insert values as portrayed in the above example.
CREATE TABLE pvt (VendorID int, Emp1 int, Emp2 int,
Emp3 int, Emp4 int, Emp5 int)
GO
INSERT INTO pvt VALUES (1,4,3,5,4,4)
INSERT INTO pvt VALUES (2,4,1,5,5,5)
INSERT INTO pvt VALUES (3,4,3,5,4,4)
INSERT INTO pvt VALUES (4,4,2,5,5,4)
INSERT INTO pvt VALUES (5,5,1,5,5,5)
GO
VendorID    Employee                                                                                                                         Orders
----------- -------------------------------------------------------------------------------------------------------------------------------- -----------
1           Emp1                                                                                                                             4
1           Emp2                                                                                                                             3
1           Emp3                                                                                                                             5
1           Emp4                                                                                                                             4
1           Emp5                                                                                                                             4
2           Emp1                                                                                                                             4
2           Emp2                                                                                                                             1
2           Emp3                                                                                                                             5
2           Emp4                                                                                                                             5
2           Emp5                                                                                                                             5
3           Emp1                                                                                                                             4
3           Emp2                                                                                                                             3
3           Emp3                                                                                                                             5
3           Emp4                                                                                                                             4
3           Emp5                                                                                                                             4
4           Emp1                                                                                                                             4
4           Emp2                                                                                                                             2
4           Emp3                                                                                                                             5
4           Emp4                                                                                                                             5
4           Emp5                                                                                                                             4
5           Emp1                                                                                                                             5
5           Emp2                                                                                                                             1
5           Emp3                                                                                                                             5
5           Emp4                                                                                                                             5
5           Emp5                                                                                                                             5

(25 row(s) affected)

SELECT VendorID, Employee, Orders
 into pvt_cc FROM
   (SELECT VendorID, Emp1, Emp2, Emp3, Emp4, Emp5
   FROM pvt) p
UNPIVOT
   (Orders FOR Employee IN
      (Emp1, Emp2, Emp3, Emp4, Emp5)
)AS unpvt
GO
select * from pvt_cc
pivot (
sum(Orders)
for Employee in (Emp1, Emp2, Emp3, Emp4, Emp5)
) as pivt

VendorID    Emp1        Emp2        Emp3        Emp4        Emp5
----------- ----------- ----------- ----------- ----------- -----------
1           4           3           5           4           4
2           4           1           5           5           5
3           4           3           5           4           4
4           4           2           5           5           4
5           5           1           5           5           5

(5 row(s) affected)