創建表scores

一、傳統的行列轉換
縱表轉橫表
我們要轉成的橫表是這樣子的:

pivot是sql server 2005 提供的運算符,所以只要數據庫在05版本以上的都可以使用。主要用於行和列的轉換。
pivot縱表轉橫表
select
t2.姓名,
t2.數學,
t2.物理,
t2.語文
from Scores as t1
pivot (sum(分數) for 課程 in(數學,語文,物理)) as t2
pivot將原來表中 課程字段中的 數據行 數學,語文,物理 轉換為列,並用sum取對應列的值。
unpivot 橫表轉縱表
select
*
from scores2 unpivot (分數 for 課程 in (語文,數學,物理)) as t3
unpivot 將 語文,數學,物理 列轉為行,分數為新的一列存放對應的值。
