我正在使用 SQL Server 2008。我有客户的销售额,我想将其与客户前一年购买的产品进行比较,并计算增长。这一切都很好,但是一旦客户在某个月份有负数,它就会带回错误的 Target & Growth 数据。
Customer SalesLastYearMonth SalesThisYearMonth Target Growth
------------------------------------------------------------------------------
abcd -1 15 ???? ???
代码:
SELECT
Customer,
CASE
WHEN SalesThisYearMonth IS NULL THEN (SalesLastYearMonth * -1)
WHEN SalesLastYearMonth IS NULL THEN SalesThisYearMonth
ELSE SalesThisYearMonth - SalesLastYearMonth END as Target,
CASE
WHEN SalesThisYearMonth IS NULL THEN -1
WHEN SalesLastYearMonth IS NULL THEN 1
WHEN SalesThisYearMonth = 0 then -1
WHEN SalesLastYearMonth = 0 then 1
ELSE ( SalesThisYearMonth - SalesLastYearMonth) / SalesLastYearMonth END AS Growth