У меня есть отчет, который управляется запросом sql, который выглядит следующим образом:
SELECT batch_log.userid,
batches.operation_id,
SUM(TIME_TO_SEC(ramses.batch_log.time_elapsed)),
SUM(ramses.tasks.estimated_nonrecurring + ramses.tasks.estimated_recurring),
DATE(start_time)
FROM batch_log
JOIN batches ON batch_log.batch_id=batches.id
JOIN ramses.tasks ON ramses.batch_log.batch_id=ramses.tasks.batch_id
JOIN protocase.tblusers on ramses.batch_log.userid = protocase.tblusers.userid
WHERE DATE(ramses.batch_log.start_time) > "2011-02-01"
AND ramses.batch_log.time_elapsed > "00:03:00"
AND DATE(ramses.batch_log.start_time) < now()
AND protocase.tblusers.active = 1
AND protocase.tblusers.userid NOT in ("ksnow","smanning", "dstapleton")
GROUP BY userid, batches.operation_id, date(start_time)
ORDER BY start_time, userid ASC
Так как это нужно сравнить с временем от текущего paypeiod, это вызывает ошибку.
Наши периоды оплаты начинаются в воскресенье, первый период оплаты - 2011-02-01, а наш последний период оплаты начался 4-го числа этого месяца. Как поместить это в мой оператор where, чтобы удалить самый последний период оплаты из запроса?
EDIT: теперь я использую date_sub (now(), INTERVAL 2 WEEK), но мне действительно нужен конкретный день недели (ВОСКРЕСЕНЬЕ), так как в среду он прерывает его в среду.