欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

[點晴永久免費OA]SQL Server中的行列轉換PIVOT/UNPIVOT

admin
2020年11月13日 8:51 本文熱度 3501
在SQL Server 2000中,要想實現行列轉換,必須綜合利用聚合函數和動態SQL,具體實現起來需要一定的技巧,而在SQL Server 2005中,使用新引進的關鍵字PIVOT/UNPIVOT,則可以很容易的實現行列轉換的需求。
PIVOT的用法:
首先創建測試表,然后插入測試數據
create table 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將四個quarter的profile轉換成橫向顯示:
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;
select * from test;

id name 一季度 二季度 三季度 四季度
-------- --------- ----------- -------- ------- -------
1 a 1000 2000 4000 5000
2 b 3000 3500 4200 5500
(2 row(s) affected)

UNPIVOT的用法:
首先建立測試表,然后插入測試數據
drop table test;
create table test(id int,name varchar(20), Q1 int, Q2 int, Q3 int, Q4 int);
insert into test values(1,''a'',1000,2000,4000,5000);
insert into test values(2,''b'',3000,3500,4200,5500);
select * from test;

id name Q1 Q2 Q3 Q4
-------- ------- --------- --------- -------- --------
1 a 1000 2000 4000 5000
2 b 3000 3500 4200 5500
(2 row(s) affected)

使用UNPIVOT,將同一行中四個季度的列數據轉換成四行數據:
select id,name,quarter,profile
from test
unpivot(
        profile for quarter in([Q1],[Q2],[Q3],[Q4])
        )as unpvt;
select * from test;

id name quarter profile
----------- ----------- ---------- -----------
1 a Q1 1000
1 a Q2 2000
1 a Q3 4000
1 a Q4 5000
2 b Q1 3000
2 b Q2 3500
2 b Q3 4200
2 b Q4 5500
(8 row(s) affected)

該文章在 2020/11/13 8:51:11 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved