查询的作用: 它根据当前时间获取所需数据,例如事件标题,帖子名称,工作日,事件开始时间,即将发生的事件的事件结束时间。
我从PHP日期('w')和当前时间传递工作日值。
问题:我希望它仅匹配当前工作日的start_hour(在本例中为5)。我在哪里AND wp_wcs3_schedule.start_hour > '09:00:00'
需要将此条件限制为应用于当前工作日,在这种情况下为“5”。
SELECT wp_posts.ID, wp_posts.post_title, wp_posts.post_name, wp_wcs3_schedule.weekday,
wp_wcs3_schedule.start_hour, wp_wcs3_schedule.end_hour
FROM wp_wcs3_schedule
INNER JOIN wp_posts
WHERE wp_wcs3_schedule.class_id = wp_posts.ID
AND wp_wcs3_schedule.weekday >=5
AND wp_wcs3_schedule.start_hour > '09:00:00'
AND wp_posts.post_title NOT LIKE '%squash%'
AND wp_posts.post_title NOT LIKE '%sal%'
ORDER BY wp_wcs3_schedule.weekday, wp_wcs3_schedule.start_hour ASC LIMIT 0,3
答案 0 :(得分:1)
您可以使用OR轻松完成此操作,所以
AND ( wp_wcs3_schedule.weekday > 5 OR wp_wcs3_schedule.start_hour > '09:00:00')
你已经有了> = 5所以.weekday将是5或者更高,然后这只会将开始时间标准应用于工作日== 5的那些。这给出了
的最终查询SELECT wp_posts.ID, wp_posts.post_title, wp_posts.post_name, wp_wcs3_schedule.weekday,
wp_wcs3_schedule.start_hour, wp_wcs3_schedule.end_hour
FROM wp_wcs3_schedule
INNER JOIN wp_posts
WHERE wp_wcs3_schedule.class_id = wp_posts.ID
AND wp_wcs3_schedule.weekday >=5
AND ( wp_wcs3_schedule.weekday > 5 OR wp_wcs3_schedule.start_hour > '09:00:00')
AND wp_posts.post_title NOT LIKE '%squash%'
AND wp_posts.post_title NOT LIKE '%sal%'
ORDER BY wp_wcs3_schedule.weekday, wp_wcs3_schedule.start_hour ASC LIMIT 0,3