表格1

Workid --- Workname --- Workdetails

w001 --- workname1 --- detail1

w002 --- workname2 --- detail2


表2

Id --- Workid --- Workstartdatetime --- Workstopdate_time

T001 --- w001 --- 2016-12-31 10:00:00 --- 2016-12-31 18:00:00

T001 --- w002 --- 2016-12-30 10:00:00 --- 2016-12-30 18:00:00


表1和表2 Workid相同。

我从用户那里得到2个输入:

**$Workstartdatetime = "2016-12-31 12:00:00";**




**$Workstopdate_time = "2016-12-31 17:00:00";**


我的查询是,如果用户提供的$Workstartdatetime$Workstopdatetime不在表2之间,则应显示WorkstartdatetimeWorkstopdatetime Table1 Workid

例如,我们已经为变量分配了值,因此仅显示workid w002

如何在PHP中为此编写查询

谢谢

最佳答案

您可以使用INNER JOIN,它将通过您提供的键将表连接起来,如果您希望在用户输入日期之间输入有效日期,可以在WHERE上设置条件。

我为您创建了一个SQLFiddle

有关JOIN的更多信息。

的MySQL

SELECT
  t1.workid
FROM
 table1 t1
INNER JOIN
  table2 t2
ON
  t1.workid = t2.workid
WHERE
  t2.Workstartdatetime > '".$$Workstartdatetime."'
AND
  t2.Workstopdate_time < '".$Workstopdate_time."'

10-07 23:50