表格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之间,则应显示Workstartdatetime
和Workstopdatetime 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."'