腳本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
/* 說明:sql server如何通過pivot對數據進行行列轉換 */ create table #t ( [員工工號] nvarchar(50), [員工姓名] nvarchar(50), [月份] nvarchar(50), [工資] int ) insert into #t values (N '01' , N '張三' , N '2020年01月' , 2400) ,(N '02' , N '李四' , N '2020年01月' , 3000) ,(N '01' , N '張三' , N '2020年02月' , 2400) ,(N '02' , N '李四' , N '2020年02月' , 3000) ,(N '03' , N '王五' , N '2020年02月' , 5500) ,(N '01' , N '張三' , N '2020年03月' , 2400) ,(N '02' , N '李四' , N '2020年03月' , 1200) ,(N '03' , N '王五' , N '2020年03月' , 5500) ,(N '04' , N '趙六' , N '2020年03月' , 30000) ,(N '01' , N '張三' , N '2020年04月' , 3000) ,(N '03' , N '王五' , N '2020年04月' , 5500) ,(N '04' , N '趙六' , N '2020年04月' , 30000) --行列轉換前的源數據 select * from #t --行列轉換后的目標數據 select [員工工號], [員工姓名] , [2020年01月], [2020年02月], [2020年03月], [2020年04月] from #t D pivot( max ([工資]) for [月份] in ([2020年01月], [2020年02月], [2020年03月], [2020年04月])) Q order by [員工工號] drop table #t |
腳本運行結果:
總結
到此這篇關于sql server通過pivot對數據進行行列轉換的方法的文章就介紹到這了,更多相關sql server pivot行列轉換內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.cnblogs.com/zhang502219048/archive/2020/05/21/12933347.html