У меня есть этот вид:
ALTER VIEW [dbo].[vw_HoursTakenPerEmployee] AS
SELECT e.[EmployeeID],
COALESCE(SUM(hrf.[HoursTaken]), 0) AS HoursTaken
FROM [dbo].[Employee] e LEFT JOIN
[dbo].[HolidayRequestForm] hrf
ON e.[EmployeeID] = hrf.[EmployeeID]
GROUP BY e.[EmployeeID];
GO
Таблица holidayRequestform выглядит примерно так.
EmployeeID | HoursTaken | YearRequested | MonthRequested |
------------+----------------+ ---------------+----------------+
1 | 8 | 2018 |06
1 | 16 | 2019 |01
2 | 8 | 2019 |01
3 | 8 | 2018 |01
Когда я выбираю представление, результаты выглядят следующим образом:
EmployeeID|HoursTaken
----------+----------
1 |24
2 |8
3 |8
Однако я хотел бы иметь только представление Рассчитать часы, занятые на текущий год (2019), сохраняя при этом записи предыдущих лет.
Я попытался вставить предложение WHERE YearRequested = YEAR(GETDATE())
в представление, но я не уверен, куда бы я его поместил.