每个特定的工作日,sql 和 php [英] Every specific weekday, sql and php
问题描述
目前,我得到了这个:
SELECT `deals`.*, deals_bookings.date AS 'b_date', deals_bookings.id AS 'book_id'
FROM `deals_bookings`
INNER JOIN deals ON (deals.ID = deals_bookings.deal_id)
INNER JOIN users ON (users.id = deals.partner_id)
INNER JOIN deals_bookings_times ON (deals_bookings_times.book_id = deals_bookings.id)
WHERE 1 AND deals_bookings.date = CURDATE() AND users.company_type = 'restaurant'
这会抓取具有今天预订日期 (CURDATE()) 的交易.
This grabs deals, that has a booked date for today (CURDATE()).
现在我添加了一列:deals_bookings.everyWeekDay
Now I have added a column: deals_bookings.everyWeekDay
该列的计划是存储周数 -> 1-7 之间,其中 1 是星期一(一周中的第一天),7 是星期日.
The plan for that column is to store week number -> between 1-7 where 1 is monday (first day in week) and 7 is sunday.
是否可以通过纯 mysql 查询来选择所有具有 deal_bookings.date = CURDATE() 或如果 Deals_bookings.everyWeekDay = 今日周数的交易?
Is it possible by pure mysql query to select all deals that has either deals_bookings.date = CURDATE() OR if deals_bookings.everyWeekDay = todays week number ?
推荐答案
您想使用deals_bookings
.everyWeekDay
= WEEKDAY(NOW())
YOu want to use
deals_bookings
.everyWeekDay
= WEEKDAY(NOW())
但 WEEKDAY 返回星期一 - 0,星期日 - 6;所以我们必须加1
But WEEKDAY returns Monday - 0, Sunday - 6; so we have to add 1
结合条件
WHERE (`deals_bookings`.`date` = CURDATE() OR `deals_bookings`.`everyWeekDay` = WEEKDAY(NOW()) + 1 ) AND `users`.`company_type` = 'restaurant'
这篇关于每个特定的工作日,sql 和 php的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!