每个特定的工作日,sql 和 php [英] Every specific weekday, sql and php

查看:53
本文介绍了每个特定的工作日,sql 和 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆