我有一个包含12个不同月份值的表格
Table
{
January INT,
February INT,
etc.
}
我需要对特定月份的值求和,我保留在表中的数字(总和的月数从1到12不等):
DECLARE @Months TABLE
(
Number INT
)
所以我肯定需要一个大案和CTE,但我真的不知道如何实现这个目标。
答案 0 :(得分:3)
案例陈述不是那么糟糕:
select sum((case when m.month = 1 then Jan else 0 end) +
(case when m.month = 2 then Feb else 0 end) +
. . .
(case when m.month = 12 then Dec else 0 end)
)
from atable a cross join
@Months m;
您可能也需要group by
。以上内容只返回整个表格的一行。