【发布时间】:2015-10-21 07:43:40
【问题描述】:
我正在尝试创建一个数据透视表,以便将特定月份作为总和,下面是我的表格和 sql 数据透视表:
CREATE TABLE yt
([Store] varchar(10), [Month] varchar(10), [xCount] int)
;
INSERT INTO yt
([Store], [Month], [xCount])
VALUES
('A', 'JAN', 1),
('A', 'FEB', 10),
('B', 'JAN', 2),
('B', 'FEB', 20),
('C', 'JAN', 3),
('C', 'FEB', 70),
('C', 'MAR', 110)
;
select *
from
(
select Store, Month, xCount
from yt
) src
pivot
(
sum(xcount)
for Month in ([JAN], [FEB], [MAR])
) piv;
Store JAN FEB MAR
A 1 10 NULL
B 2 20 NULL
C 3 70 110
以上结果我可以将当前月份的值相加。现在我想在 Store a 中对整个月求和,仅对 Store b 中的 FEB 和 MAR 求和,并在 Store c 中求和 MAR,所以我希望我的结果为
Store JAN FEB MAR
A 6 100 110
B 5 90 110
C 3 70 110
我可以在枢轴上做吗?还是需要建表再次运行sql? 感谢您的帮助。
【问题讨论】:
标签: sql-server sql-server-2008 pivot