如何查询和比较两个表的值?

时间:2016-04-06 17:54:54

标签: mysql sql database

我的查询需要一些输入。我试图做的是将用户输入的时间与存储在数据库中的时间块进行比较,以检查该时隙是否可用。

然而,我遇到的问题是用户的值在一个表中,而值在另一个表中。我的查询如下。任何帮助,将不胜感激。我已经用尽了所有的想法!

EmpID = FOREIGN KEY

实施例

用户输入 - 2016-04-06 09-00-00(DB中的日期时间类型) 然后,我运行我认为是下面的查询,看看是否有时间 可以说2016-04-06 09-00-00和2016-04-06 10-00-00

然后我将该时间更新为可以安排。

UPDATE TimeRequestedTable
SET AppointTime = "inputed by user"
WHERE EmpID IN 
      (SELECT BlockTimesTable.EmpID
       FROM BlockTimesTable
       WHERE
         (SELECT AppointTime
          FROM TimeRequestedTable)
       BETWEEN startTime and EndTime);

1 个答案:

答案 0 :(得分:1)

似乎您需要内部联接更新

UPDATE TimeRequestedTable
INNER JOIN BlockTimesTable ON BlockTimesTable.EmpID = TimeRequestedTable.EmpID
SET AppointTime = "inputed by user"
WHERE AppointTime BETWEEN startTime and EndTime