我有两张表预订和 CurrentDay_Booking 。
**booking**:
ID bookingdate TableID starttime endtime userID NumberOfPeople phoneNumber EmailID
1 2015-11-20 1 11:15:00 11:55:00 john 2 21029917 gmail.com
2 2015-11-20 1 11:15:00 11:40:00 riyas 2 21029917 gmail.com
3 2015-11-20 1 12:15:00 12:45:00 riyas 2 21029917 gmail.com
4 2015-11-21 2 11:20:00 11:30:00 riyas 2 21029917 gmail.com
**CurrentDay_Booking**:
ID bookingdate TableID starttime endtime userID NumberOfPeople phoneNumber EmailID
1 2015-11-20 1 11:15:00 11:55:00 john 2 21029917 gmail.com
我的问题是:需要将预订表格中的数据添加到 CurrentDay_Booking ,而不是等于 CurrentDay_Booking ID并等到当前日期和开始时间和结束时间或等于当前时间
我的当前时间和当前日期使用不同的查询
我不知道如何使用where子句和LEFT JOIN进行查询
这是我的问题:
SELECT
t.ID,
t.bookingdate,
t.TableID,
t.starttime,
t.endtime,
t.userID,
t.NumberOfPeople,
t.phoneNumber,
t.EmailID
FROM booking t
LEFT JOIN CurrentDay_Booking s
ON t.ID = s.ID
WHERE s.ID is null
and t.bookingdate='" . $cur_gmt_date . "'
and t.starttime <= '" . $cur_gmt_time24 . "'
and t.endtime => '" . $cur_gmt_time24 . "';
我认为我把条件放错了地方。
请提供任何帮助,非常感谢。
答案 0 :(得分:0)
根据您所描述的内容,由于在您描述的场景中添加了表格,因此创建表格没有任何意义。结果表是相同的,所以为什么不直接从表中进行直接查询,保存所讨论的特定日期的所有预订。基于它已经存在或不存在的另一个表不需要加入
SELECT
t.ID,
t.bookingdate,
t.TableID,
t.starttime,
t.endtime,
t.userID,
t.NumberOfPeople,
t.phoneNumber,
t.EmailID
FROM
booking t
WHERE
t.bookingdate='" . $cur_gmt_date . "'
根据(预订日期)在您“预订”表上的索引,它不必比较已经存在的内容。然后你不必担心每天都要清除它,只是为了开始新的一天。