基本語法 數(shù)據(jù)源 PIVOT( 列(匹配列的數(shù)據(jù)值 轉(zhuǎn)換后為一行) FOR 列(需要放到行標(biāo)題的那一列,轉(zhuǎn)換后為固定標(biāo)題值) IN (列名稱) ) e.g 有數(shù)據(jù): UserNameSubjectScore 張三 語文80 張三 數(shù)學(xué)90 張三 英語70 張三 生物85 李四 語文80 李四 數(shù)學(xué)92 李四 英語76 李四 生物88 sql語句: SELECT * FROM Table PIVOT ( sum(Score) FOR subject IN ([語文],[數(shù)學(xué)],[英語],[生物]) ) AS T 結(jié)果: UserName 語文 數(shù)學(xué) 英語 生物 李四 80 92 76 88 張三 80 90 70 85 -------------------------------------------------- 但在大多數(shù)情況下,我們的數(shù)據(jù)源很有可能是表連接的結(jié)果,只需要做個(gè)簡單轉(zhuǎn)換即可 SELECT * FROM ( SELECT * FROM Table left join .... ) P PIVOT ( sum(Score) FOR subject IN ([語文],[數(shù)學(xué)],[英語],[生物]) ) AS T |
|