Напоминание повторяющихся событий

0

У меня проблема, мой запрос не работает должным образом

SELECT * FROM a LEFT JOIN b on a.eid = b.id LEFT JOIN c ON a.cid = c.id WHERE DAYOFYEAR(a.start) BETWEEN :startdate_day_of_year AND :enddate_day_of_year AND :year BETWEEN a.start AND a.end

: startdate_day_of_year и: enddate_day_of_year передаются из пользовательского ввода... 1-365 : год передается с пользовательского ввода... 2011

Проблема в том, что событие может повторяться каждый год (т.е. событие, начатое в 2008 году и прошедшее через 2012 год). Он должен отображать событие каждый год...

Когда я добавил таблицу c в микс, я начал получать ограниченные результаты... если бы я заменил ту часть с фиксированными датами вместо dayofyear и годом, когда она начала работать так, как должна... но тогда я не могу получить повторяющиеся события.

Танк ты! BR

Теги:

1 ответ

0

Повторяющиеся события сильно отличаются от повторяющихся событий. Если повторяющиеся события имели, например, год начала и конца года, у меня будет отдельная таблица для повторяющихся событий.

Else, у меня бы был логический столбец is_yearly_event и он проверял бы только год, если он не установлен: ...AND (a.is_yearly_event != 0 OR :year BETWEEN a.start AND a.end)

  • 0
    Привет, это не вариант ... таблицы как они есть ...
  • 0
    Ну, а как тогда отличить повторяющиеся события от одноразовых?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню