У меня есть таблица, содержащая информацию о дате события и таблице конфигурации, описывающей, когда отправлять напоминания и что содержит напоминание. каждое событие может иметь одно или несколько напоминаний.Условные соединения с динамическими порогами
В таблице конфигурации содержит:
- типа события Идентификатор (template_internal_id)
- номер напоминания
- напоминание порога (количество дней, прошедших от события для отправки напоминания с помощью)
- напоминания сообщение
Вторая таблица содержит список событий и должна совпадать с напоминанием о количестве дней, прошедших со времени события. Теперь, если бы я знал, что на самом деле количество возможных порогов, это выглядело бы что-то вроде этого
select template_internal_id, create_date,
DATEDIFF (DAY, msg_rfi.create_date, GETDATE()) as event_age
from events
left join configuration
on events.template_internal_id=configuration.template_internal_id
and event_age>first_threshold and event_age<second_threshold
и так далее для всех порогов. но, как я уже упоминал, я не знаю, сколько порогов у меня будет. Для одного шаблона может быть 3 порога и 5 пороговых значений для другого. Запрос должен работать с процедурой, которая может обрабатывать оба этих случая (и другие).
Буду признателен за ваши рекомендации.
Спасибо!
добавьте структуру событий таблицы и некоторые выборочные данные в нем. неясно, что вы имеете в виду, рассматривая эти случаи. Например, скажем, прошло 2 дня, а event.template_internal_id - 9001. Что вы ожидаете вернуть в запросе? каков должен быть результат, если один и тот же запрос запускается через 3 дня? –