Структура базы данных:
activities: id, description, date, time, endDate, endTime, userId
Итак, у нас есть действие, требуется указание даты, время, endDate и endTime не требуются.
Проблема в том, что если я хочу получить все сегодняшние действия, я получу:
SELECT A.*, U.*
FROM activities
JOIN users U
ON U.id = A.userId
WHERE DATE(A.date) = DATE(CURDATE())
Так что это будет неопределенным, получит все действия сегодняшнего дня, но что, если у нас будет мероприятие, которое началось вчера, а дата окончания будет завтра, мне все равно нужно получить задание?
Мы хотим, чтобы все действия, которые произойдут в следующие выходные, чтобы мы не получили этот запрос:
SELECT A.*, U.*
FROM activities
JOIN users U
ON U.id = A.userId
WHERE UNIX_TIMESTAMP(A.DATE) BETWEEN strtotime('previous saturday')
AND (strtotime('previous monday') - 1)
Но еще раз, что, если «свидание» наступит в пятницу и закончится во вторник, и я получу все действия, которые происходят в выходные, я все еще должен получить это действие, как мне решить это?
Большое спасибо за помощь уже! :)