次のような結果を生成するテーブルがあります。
Code Month Value
733 May 520.00
733 May 2250.00
733 May 125.00
次のようなレコードの上に表示する必要があるという要件があります。
Code May
733 520
733 2250
733 125
ピボットに行くことで1つの方法を考えることができるので、次のようにしました:
Select
Code,
IsNull(January,0)[January(Actual)],
IsNull(February,0)[February(Actual)],
IsNull(March,0)[March(Actual)],
IsNull(April,0)[April(Actual)],
IsNull(May,0)[May(Actual)],
IsNull(June,0)[June(Actual)],
IsNull(July,0)[July(Actual)],
IsNull(August,0)[August(Actual)],
IsNull(September,0)[September(Actual)],
IsNull(October,0)[October(Actual)],
IsNull(November,0)[November(Actual)],
IsNull(December,0)[December(Actual)]
From
(
Select
Code,
[Month],
Value
From
#tempMonthWiseActualValue
)s
Pivot
(
min([Value] )
For [Month]
In (January,February,March,April,May,June,July,August,September,October,November,December)
)as pvt
Order by Code
ただし、すべての値を保持する必要があるため、ここでは集計関数が機能しないため、1 つの制限があります。つまり、MIN、MAX、SUM などは機能しません。Min/Max を使用すると、値の列に 125 または 2250 が表示されます。
だから私の質問は:
ピボットテーブルを使用して目的の結果を見つける方法はありますか、または #temp テーブルを使用する必要がありますか?