SQLServer2008 を使用しています。ストアド プロシージャでは、金額を計算して @tmp テーブルに格納し、@tmp テーブルからデータを取得します。
SELECT t.BrokerCode,
t.PlanYear ,
t.PlanName ,
SUM(Fresh) AS 'Fresh' ,
FROM @tmp AS t
GROUP BY t.PlanYear ,
t.PlanName ,
t.CscName ,
t.BrokerCode
これにより、次のような結果が得られます。
-------------------------------------------------
BrokerCode | PlanYear | PlanName | Fresh
-------------------------------------------------
106 | 3 | SLP | 0.00
106 | 3 | MLP | 1140.00
106 | 5 | MLP | 570.00
205 | 4 | SLP | 450.00
今、私はデータを次のように表示したいと思います:
----------------------------------------------------------
| SLP | MLP |
---------------------------------------------------------
BrokerCode | 3 | 4 | 3 | 5 |
----------------------------------------------------------
106 | 0.00 | 0.00 | 1140.00 | 570.00 |
205 | 0.00 | 450.00 | 0.00 | 0.00 |
ピボットクエリについて聞いたことがありますが、ピボットクエリの知識はあまりありませんが、以下のクエリを使用してみました
SELECT *
FROM
(
SELECT [PlanYear], [BrokerCode], [Fresh]
FROM @tmp
) AS source
PIVOT
(
sum([Fresh])
FOR [PlanYear] IN ([3], [4], [5])
) as pvt
だからそれは私に結果を与える:
----------------------------------------------
BrokerCode | 3 | 4 | 5 |
----------------------------------------------
106 | 1140.00 | 0.00 | 570.00 |
205 | 0.00 | 450.00 | 0.00 |
しかし、私の問題は、PlanYear が何でもかまいません。
どうすればこれを行うことができますか?ありがとう。