質問するログイン新規登録

回答編集履歴

1

回答内容の詳細を記入

2017/10/23 07:48

投稿

Ryuichi_Yamamot
Ryuichi_Yamamot

スコア11

answer CHANGED
@@ -1,1 +1,23 @@
1
+ 「質問時に間違っていたPIVOTの使い方」
2
+ 1PIVOTが呼ぶクエリのSelectでエイリアスをつけていた(つけているとエラーが出る)
3
+ 2PIVOT関数内のfor の後ろには、PIVOTで分類されるデータを持ったカラムを設定する。
4
+ 2PIVOT関数内のfor の前には、PIVOTで分類されるデータの集計方法を設定する。
5
+
6
+ 例えば、以下のように書く。
7
+ pivot(count(GRADE) for GRADE in ('A' as A ,'B' as B,'C' as C)
8
+
9
+ 「PIVOTで集計されたカラムの後ろに別のカラムを足す方法」
10
+ Pivotで作成したテーブルを丸々Inline selectにして、別のテーブルとJoinさせる。表示するカラムは、一番外側のSELECTで設定する。
11
+
12
+ 例:
13
+ select
14
+ p.title
15
+ ,p.A
16
+ ,p.B
17
+ ,p.c
18
+ ,o.other_data
19
+ from (
20
+
1
- 自己解決しまし。直近時間がないた、解決方法は来週記入します。
21
+ PIVOTするためのテーブル(Inline select)
22
+
23
+ ) PIVOTTABLE p join OTHERTABLE 0 on (p.pk = o.pk)