У меня есть таблица с названием Аварии.Я пытаюсь вернуть все записи, основываясь на том, в каком квартале находится отчетная дата. Вот как выглядит таблица:
Accidents Table
| acc_id | acc_descrip |reported_date|
| 1 | collision |2019-20-01
| 2 | hit and run |2019-08-01
| 3 | collision |2019-10-06
Так что это работает с точки зрения предоставления мне всех записей в таблице иквартал и год, в который они попадают. Но я хочу передать только параметр года и получить результаты того года рекордов и квартала, в который он попадает?
alter PROCEDURE AccidentByQuarter
AS
BEGIN
SELECT *,
CASE
WHEN MONTH(ReportedDate) IN (1,2,3) THEN convert(char(4), YEAR(ReportedDate) - 1) + 'Q3'
WHEN MONTH(ReportedDate) IN (4,5,6) THEN convert(char(4), YEAR(ReportedDate) - 1) + 'Q4'
WHEN MONTH(ReportedDate) IN (7,8,9) THEN convert(char(4), YEAR(ReportedDate) - 0) + 'Q1'
WHEN MONTH(ReportedDate) IN (10,11,12) THEN convert(char(4), YEAR(ReportedDate) - 0) + 'Q2'
END AS Quarter FROM Incident
END