这是我的表
CREATE TABLE [dbo].[FactARR]
(
[PropertyKey] [int] NULL,
[Datekey] [numeric](8, 0) NULL,
[ARRDate] [date] NULL,
[NetRoomRevenue] [numeric](38, 3) NULL,
[OccupiedRooms] [numeric](38, 2) NULL,
[ARR] [numeric](38, 6) NULL
)
SELECT
SUM(CASE WHEN YEAR(ARRDate) = YEAR(getdate()) -1
THEN REPLACE (arr, ',', '')
ELSE 0
END) Previous_Year_sum,
ARRDate,
SUM(CASE WHEN YEAR(ARRDate) = YEAR(getdate())
THEN REPLACE (arr, ',', '')
ELSE 0
END) current_year
FROM
FactARR
GROUP BY
ARRDate
ORDER BY
ARRDate
答案 0 :(得分:0)
低于查询结果,仅限去年2015年。
YEAR(getdate()) -1
现在你的情况如下,
SUM(CASE WHEN YEAR(ARRDate) = YEAR(getdate()) -1
以上条件仅相当于ARRDate油田的2015年。所以2015年只有价值..剩余年份为零..
**
你会尝试下面的查询,使用少于。它将需要所有上一年的数据。它工作正常。
SUM(CASE WHEN YEAR(ARRDate) < YEAR(getdate())
**