Php 两个IF语句和join-MYSQL
我一直在为会议室做一个日程安排。 我有两张桌子: 1)Php 两个IF语句和join-MYSQL,php,mysql,if-statement,Php,Mysql,If Statement,我一直在为会议室做一个日程安排。 我有两张桌子: 1) dayplanner:以5分钟为间隔划分一天 值=00:00:00,00:05:00,00:10:00。。。23:55:00 2) 预订:名称、开始和结束 值=[john,12:00:00,12:30:00],[bob,14:00:00,14:45:00]等 我的目标是使用一个查询和两个IF语句,这样我就可以检查starttime以及两者之间的内容 像这样: [时间][预留][中间] 12:00:00对-对 12:05:00对对对对 12
dayplanner
:以5分钟为间隔划分一天
值=00:00:00,00:05:00,00:10:00。。。23:55:00
2) 预订
:名称、开始和结束
值=[john,12:00:00,12:30:00],[bob,14:00:00,14:45:00]等
我的目标是使用一个查询和两个IF语句,这样我就可以检查starttime以及两者之间的内容
像这样:
[时间][预留][中间]
12:00:00对-对12:05:00对对对对
12:35:00假假假
$query = "SELECT *,
IF(d.dayplanner_time = a.reservations_starttime,'true','false') AS reserved,
IF(d.dayplanner_time > a.reservations_start && d.dayplanner_time < a.reservations_finish,'true','false') AS inbetween
FROM dayplanner d
LEFT JOIN reservations a
ON d.day_time = a.reservations_start OR d.dayplanner_time = a.reservations_finish
WHERE d.dayplanner_time BETWEEN '12:00:00' AND '18:00:00';";
$query=“选择*,
如果(d.dayplanner\u time=a.reservations\u starttime,'true','false')被保留,
如果(d.dayplanner\u time>a.reservations\u start&&d.dayplanner\u time
查询在reserved列中只给出一个true,但没有任何结果。
我希望你能帮我。你正在将你的时间间隔与预订时间间隔进行匹配,而预订时间间隔的开始或结束时间都是。根据定义,如果时间相等,它们不能大于或小于自身,这意味着您明确地忽略了与时间间隔不完全匹配的保留 比较应该是
SELECT d.dayplanner_time,d.day_time,
IF(d.dayplanner_time = a.reservations_starttime,'true','false') AS reserved,
IF(a.reservations_start is null, false, true) AS inbetween
FROM dayplanner d
LEFT JOIN reservations a
ON (d.day_time >= a.reservations_start AND d.dayplanner_time <= a.reservations_finish)
WHERE d.dayplanner_time BETWEEN '12:00:00' AND '18:00:00';
选择d.dayplanner\u时间,d.day\u时间,
如果(d.dayplanner\u time=a.reservations\u starttime,'true','false')被保留,
如果(a.u开始为null、false、true)介于两者之间
来自dayplanner d
左加入预订a
在(d.day\u time>=a.reservations\u start和d.dayplanner\u time上,工作正常
现在我想知道如何填充