ピボットテーブルを使用する必要はありません。
DECLARE @COMPLAINTS TABLE ([MONTH] VARCHAR(3),COMPANY VARCHAR(1), NUMB FLOAT)
INSERT INTO @COMPLAINTS
VALUES
('Jan','A',1),
('Feb','A',2),
('Mar','A',3),
('Apr','A',4),
('May','A',5),
('Jun','A',6),
('Jul','A',7),
('Aug','A',8),
('Sep','A',9),
('Oct','A',10),
('Nov','A',11),
('Dec','A',12),
('Jan','B',1),
('Feb','B',2),
('Mar','B',3),
('Apr','B',4),
('May','B',5),
('Jun','B',6),
('Jul','B',7),
('Aug','B',8),
('Sep','B',9),
('Oct','B',10),
('Nov','B',11),
('Dec','B',12),
('Jan','C',1),
--('Feb','C',2),
('Mar','C',3),
--('Apr','C',4),
('May','C',5),
--('Jun','C',6),
('Jul','C',7),
--('Aug','C',8),
('Sep','C',9),
--('Oct','C',10),
('Nov','C',11),
('Dec','C',12)
SELECT COMPANY Company,
sum(CASE WHEN [MONTH] = 'Jan' then numb else 0 end) as 'Jan',
sum(CASE WHEN [MONTH] = 'Feb' then numb else 0 end) as 'Feb',
sum(CASE WHEN [MONTH] = 'Mar' then numb else 0 end) as 'Mar',
sum(CASE WHEN [MONTH] = 'Apr' then numb else 0 end) as 'Apr',
sum(CASE WHEN [MONTH] = 'May' then numb else 0 end) as 'May',
sum(CASE WHEN [MONTH] = 'Jun' then numb else 0 end) as 'Jun',
sum(CASE WHEN [MONTH] = 'Jul' then numb else 0 end) as 'Jul',
sum(CASE WHEN [MONTH] = 'Aug' then numb else 0 end) as 'Aug',
sum(CASE WHEN [MONTH] = 'Sep' then numb else 0 end) as 'Sep',
sum(CASE WHEN [MONTH] = 'Oct' then numb else 0 end) as 'Oct',
sum(CASE WHEN [MONTH] = 'Nov' then numb else 0 end) as 'Nov',
sum(CASE WHEN [MONTH] = 'Dec' then numb else 0 end) as 'Dec'
FROM @COMPLAINTS
GROUP BY COMPANY
合計は、クレームがない月の値を0に戻します。実行計画はピボットよりもコストがかかりません(とにかくこの小さなテストサンプルで)
ピボットテーブル – Jasen
あなたの仕事のいくつかを投稿してください....このクエリを試しましたか?はいの場合はここにあなたの質問を投稿してください。 –
@ジャセン私はピボットを試みたが、週のような言葉は予約語だと思われる。列名を変更する必要がありますか? –