以下のようにレポート形式でデータを表示するピボット クエリを作成しています。
CREATE TABLE #Table1 (ColId INT)
INSERT INTO #Table1 VALUES(29)
INSERT INTO #Table1 VALUES(49)
INSERT INTO #Table1 VALUES(59)
DECLARE @cols NVARCHAR(2000)
SELECT @cols = COALESCE(@cols + ',[' + Convert(varchar(10), ColId) + ']',
'[' + Convert(varchar(10), ColId) + ']')
FROM #Table1
print (@cols)
Declare @final NVARCHAR(2000)
set @final=
'SELECT *
FROM (
SELECT tv
, rv
, dpv
FROM (
---Inner join query with multiple tables ----
) As C
) P
PIVOT (
Max(dpv)
FOR tv IN (' + @cols + ')
) AS PVT'
exec(@final)
drop table #Table1
上記のクエリの結果は以下のとおりです。
以下のような結果が欲しい
この場合、tv に 'C' を追加する必要があるため、29C と 29 の 2 つの列があり、29C 未満では 29C + dpv を表示する必要があり、29 未満では tv + dpv の合計を表示する必要があります (つまり、29+ 5=34)。すべての列でそのようにします。
どうすれば達成できますか?複数の集計値を追加するにはどうすればよいですか? 前もって感謝します。