Калькулятор повторяющейся даты SQL - PullRequest
0 голосов
/ 10 октября 2019

Я хочу создать калькулятор повторяющихся дат, который будет соответствовать СОБЫТИЯМ на определенную календарную дату. Каждое событие имеет свое правило. EX. для СОБЫТИЯ Правило: "Происходит во вторник ежемесячно с датой начала вторника 9-17-2019. Я использую таблицу измерения времени с каждой датой, заполненной до 2025 года. Используя эти даты, я использовал в предложении WHERE

WHERE dayname = 'tuesday' and ( DATEDIFF(DAY, '2019-09-17', Calendar_Date) % 28 ) = 0 to get monthly tuesdays. 

Но я сталкиваюсь с проблемами, когда в месяце два 5 вторника: 3-3-2020 и 3-31-2020. Нужно, чтобы дата была 4-7-2020 вместо 3-31-2020.

Может кто-нибудь помочь с решением?

1 Ответ

1 голос
/ 10 октября 2019

С вашим запросом вы довольно близки. Все, что вам нужно сделать, это затем выбрать

SELECT MIN(CalendarDate) AS CalendarDate
FROM (your query goes here) AS d
GROUP BY YEAR(CalendarDate), MONTH(CalendarDate);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...