環境:Sqlserver2005
お世話になります。
初歩的な質問で申し訳ございませんが、T-SQLのPIVOTについてご教示ください。
以下のような構成で、<ピボット表示結果>のような値を得たいのですが
●●●のところにはいる演算子?がわかりません。
ちなみに●●●にCOUNTをいれると動くのですが、Countしたいわけではなく、
[P規格名称] (nvarchar型)を表示したいのです。
宜しくお願い致します。
<TABLE1>
([管理コード] as nvarchar,[P識別番号] as int,[P規格区分] as int)
________________________________________
'aaa',1,3
'aaa',2,7
'aaa',3,34
'bbb',1,7
'bbb',2,65
'bbb',3,3
<TABLE2>
([P規格区分] as int,[P規格名称] as nvarchar)
________________________________________
3,'PName3'
7,'PName7'
34,'PName34'
65,'PName65'
<ピボット表示結果>
行:TABLE1.[管理コード](ユニークにしたい)
列:TABLE1.[P識別番号]( [1],[2],[3])
値:TABLE2.[P規格名称]
[管理コード],[1],[2],[3]
________________________________________
'aaa','PName3','PName7','PName34'
'bbb','PName7','PName65','PName3'
<T-SQL ピボット記述>
SELECT [管理コード],[1],[2],[3]
FROM(SELECT TABLE1.[管理コード],TABLE1.[P識別番号],TABLE2.[P規格名称]
FROM TABLE2 INNER JOIN TABLE1 ON TABLE2.P規格区分 = TABLE1.P規格区分) T
PIVOT(●●●([P規格名称]) FOR [P識別番号] IN ( [1],[2],[3])) AS PIVOT_TABLE;
※ちなみに●●●にCOUNTをいれると動く。