mysql - 通过将 2 个表与 POST 变量进行比较来显示可用时间

标签 mysql sql

这些是我的 table

RESERVATIONS
+--------+--------------------+-----------------+
|   id   |  reservation_date  | reservation_time|
+--------+--------------------+-----------------+
|   1    | November 05, 2019  |  9:00am-12:00pm |
|   2    | November 05, 2019  |  12:00pm-3:00pm |
|   3    | November 05, 2019  |   3:00pm-6:00pm |
|   4    | November 05, 2019  |   6:00pm-9:00pm |
|   5    | November 06, 2019  |  9:00am-12:00pm |
|   6    | November 06, 2019  |  12:00pm-3:00pm |
|   7    | November 06, 2019  |   3:00pm-6:00pm |
|   8    | November 12, 2019  |  9:00am-12:00pm |
|   9    | November 13, 2019  |  9:00am-12:00pm |
+--------+--------------------+-----------------+

reservation_date 是 VARCHAR 格式

TIME_AVAILABILITY
+--------+------------------+
|   id   | reservation_time |
+--------+------------------+
|   1    |  9:00am-12:00pm  |
|   2    |  12:00pm-3:00pm  |
|   3    |   3:00pm-6:00pm  |
|   4    |   6:00pm-9:00pm  |
+--------+------------------+

事情是这样的,我想根据 $_POST 变量和 RESERVATIONS 表显示我的 TIME_AVAILABILITY 表中的值。例如,如果用户输入的是 2019 年 11 月 5 日,它将不显示任何内容,因为 TIME_AVAILABILITY 表中的所有值都已经在 RESERVATIONS 表中,但是如果用户输入是 2019 年 11 月 6 日 它只会显示 6:00pm-9:00pm 我尝试使用 INNER JOIN,但我无法让它工作

最佳答案

连接到 RESERVATIONS 表的子查询的 TIME_AVAILABILITY 表将只产生 null 匹配项(这是您自从null 表示 TIME_AVAILABILITY 尚未填充 where 子句中的日期您的“POST”日期可以这样说):

select t.reservation_time
from TIME_AVAILABILITY t
  left join (
    select reservation_time, reservation_date
    from RESERVATIONS
    where reservation_date = 'November 05, 2019'
  ) as q
  on t.reservation_time = q.reservation_time
where q.reservation_date is null; 

关于mysql - 通过将 2 个表与 POST 变量进行比较来显示可用时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58849879/

相关文章:

php - php中的搜索框与mysql

android - SQL 删除 NOT IN 不起作用的地方

mysql - 在 vb.net 中将括号或引号保存到 sql 中

sql - 如何调整此查询以使用窗口函数

sql - 如何在SQL Server 2008 Management Studio中获取 View 表查询(代码)

sql - 使用sql/plsql,如何找出文本使用的字符集?

mysql - 创建一个 MySQL 表,其字段名可能包含 INT 和 VARCHAR

php - 数据没有从表单插入数据库,我做错了什么?

java - 将 Java 日志记录与 mySQL 结合起来

mysql - 如果我创建一个没有主键的表然后添加主键,主键是聚集索引吗?