打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SQL Server 2005之PIVOT/UNPIVOT行列转换

SQL Server 2005之PIVOT/UNPIVOT行列转换 

http://technet.microsoft.com/zh-cn/library/ms177410.aspx

 

创建测试表,插入测试数据

SQL code

createtable test(id int,name varchar(20),quarter int,profile int)
insert into test values(1,'a',1,1000)
insert into test values(1,'a',2,2000
insert into test values(1,'a',3,4000)
insert into test values(1,'a',4,5000)
insert into test values(2,'b',1,3000)
insert into test values(2,'b',2,3500)
 insert into test values(2,'b',3,4200)
insert into test values(2,'b',4,5500)
select*from test
id name quarter profile
----------- -------------------- ----------- -----------
1 a 1 1000
1 a 2 2000
1 a 3 4000
1 a 4 5000
2 b 1 3000
2 b 2 3500
2 b 3 4200
2 b 4 5500

(
8 row(s) affected)

利用PIVOT将个季度的利润转成横向显示:
select id,name,
[1]as "一季度",
[2]as "二季度",
[3]as "三季度",
[4]as "四季度"
from
test
pivot
(
sum(profile)
for quarter in
(
[1],[2],[3],[4])
)
as pvt

id name 一季度 二季度 三季度 四季度
----------- -------------------- ----------- ----------- ----------- -----------
1   a       1000    2000     4000    5000
2   b       3000    3500     4200    5500
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
行列互转 - 转
SQL Server 实现行列(纵横表)转换 – 码农网
浅析SQL语句行列转换的两种方法 case...when与pivot函数的应用
SQL,行列转换的函数
sql server如何通过pivot对数据进行行列转换(进阶)
行列转换 交叉表
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服