我有一个 SELECT
来给我提供特定月份公寓的预订天数:
SELECT db.the_date, db.id_state, db.id_client_booking, bs.class
FROM `day_bookings` as db
LEFT JOIN `bookings_states` as bs ON bs.id= db.id_state
WHERE id_item= 10
AND YEAR(the_date)= 2016
AND MONTH(the_date) = 6
如何将上个月的最后一天添加到此查询中?
我考虑过在第 5 个月使用相同的查询执行新的 LEFT JOIN
,但无法使其正常工作,始终出现语法错误。
我尝试使用 UNION ALL
进行 2 个类似的选择,但只得到了最后一个。
我还尝试了嵌套 SELECT
,但它没有忽略语法错误。
关于如何将上个月添加到此结果中,有什么建议吗?
最佳答案
试试这个:
SELECT db.the_date, db.id_state, db.id_client_booking, bs.class
FROM `day_bookings` as db
LEFT JOIN `bookings_states` as bs ON bs.id= db.id_state
WHERE id_item= 10
AND YEAR(the_date)= 2016
AND (MONTH(the_date) = 6 OR (MONTH(the_date) = 5 AND DAY(the_date) = 31))
;
OR 子句就是您所需要的。
关于mysql - 将上个月的日期添加到选择中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34587526/