UNPIVOT特點 UNPIVOT運算符通過將列旋轉到行來執行PIVOT的反向操作,UNPIVOT 並不完全是 PIVOT 的逆操作。 PIVOT 執行聚合,並將多個可能的行合併為輸出中的一行。UNPIVOT 不重現原始表值表達式的結果,因為行已被合併。 另外,UNPIVOT 輸入中的 NULL 值 ...
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
示例結果