SQLServer之列數據轉換為行數據


UNPIVOT特點

UNPIVOT運算符通過將列旋轉到行來執行PIVOT的反向操作,UNPIVOT 並不完全是 PIVOT 的逆操作。 PIVOT 執行聚合,並將多個可能的行合並為輸出中的一行。UNPIVOT 不重現原始表值表達式的結果,因為行已被合並。 另外,UNPIVOT 輸入中的 NULL 值也在輸出中消失了。如果值消失,表明在執行 PIVOT 操作前,輸入中可能就已存在原始 NULL 值

語法

select 輸出列名,...,輸出列名,輸出值列名稱
from (select 輸出列名,...,轉換列列名,... from 數據庫名.架構名.表名) as 別名
unpivot(
輸出值列名稱 for 輸出列名 in
(轉換列列名,...)
) as 別名

示例

select unpriots.Name,unpriots.Course,unpriots.Score
from (select Name,Android,[.NET],IOS,HTML5 from test1.dbo.student2) as a
unpivot(
Score for Course in
(Android,[.NET],IOS,HTML5)
) as unpriots

示例結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM