iT邦幫忙

0

SQL server的pivot交叉報表寫法

select aa,bb,cc from table1
如果要把cc轉成欄位的話
SQL server的pivot要如何寫呢?
謝謝

外獅佬 iT邦大師 1 級 ‧ 2013-04-17 08:51:59 檢舉
ping9提到:
把cc轉成欄位

看不懂....cc不是本來就是一個欄位嗎?
還是說,你要把cc變成欄位的值,然後cc欄位原本的值變成欄位名?

1 個回答

10
richardsuma
iT邦大師 3 級 ‧ 2013-04-17 10:30:42
最佳解答

PIVOT語法剖析:

PIVOT的語法分三層,用三個步驟來使用。
第一步驟:先把要PIVOT的原始資料查詢(Query)好。
第二步驟:設定好PIVOT的欄位與方式。
第三步驟:依PIVOT好了的資料,呈現結果。

SELECT <non-pivoted column>, ---- 第三步驟在此,呈現PIVOT後的資料。
[first pivoted column] AS <column name>,
[second pivoted column] AS <column name>,
...
[last pivoted column] AS <column name>
FROM
(<SELECT query that produces the data>) ---- 第一步驟在此,準備資料(Query)。
AS <alias for the source query>
PIVOT ---- 第二步驟在此,依第一步驟的資料欄位來設定PIVOT方式。
(
<aggregation function>(<column being aggregated>)
FOR
[<column that contains the values that will become column headers>]
IN ( [first pivoted column], [second pivoted column],
... [last pivoted column])
) AS <alias for the pivot table>
<optional ORDER BY clause>;

請參考下列網頁:
http://rely1020.blog.ithome.com.tw/post/1606/39111

我要發表回答

立即登入回答