繁体   English   中英

没有空值的case语句

[英]Case statement without null value

我正在尝试比较 YOY 数据,并且我正在尝试使用 case 语句来按年份拆分。 我一直在尝试做的是

(Case
When year(date) = 2010 Then 'sales year 2010'
When year(date) = 2011 Then 'sales year 2011'
Else 
End) as Year 

但上述一个不起作用,因为我想按列获取每年的数据,而不是作为同一列下的行。

所以,接下来我尝试的是

(Case
When year(date) = 2010 Then sum(sales) End) as 'sales year 2010', 
(Case
When year(date) = 2011 Then sum(sales) End) as 'sales year 2011' 

我得到了下面的。

物品 2010年销售年 2011年销售年
一个 无效的 2,500
一个 5,000 无效的
无效的 200
7,000 无效的
C 无效的 2,500
C 5,000 无效的
D 无效的 200
D 7,000 无效的

我想要得到的是这个。

物品 2010年销售年 2011年销售年
一个 5,000 2,500
7,000 200
C 5,000 2,500
D 7,000 200

有人可以建议怎么做吗?

谢谢。

您想在这里总结CASE表达式:

SELECT
    Item,
    SUM(CASE WHEN year = 2010 THEN sales ELSE 0 END) AS [Sales Year 2010],
    SUM(CASE WHEN year = 2011 THEN sales ELSE 0 END) AS [Sales Year 2011]
FROM yourTable
GROUP BY Item;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM