数据库结构:
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)
但是再一次,如果“约会”是在星期五并将在星期二结束,而我得到了周末发生的所有活动,我仍然必须得到那个活动,我该如何解决这个问题?
非常感谢您的帮助!:)