我有三个表:界限,站和时间

绑定具有2列:boundID和boundName

工作站具有3列:stationID stationName boundID

时间有4列:timeID出发时间tramID站号

如果用户在文本字段中输入的工作站具有相同的boundID,我想显示用户输入的startStation和endStation并显示时间。目前,这是我设法做的所有事情,似乎无法获得结果。任何帮助将不胜感激!

    //display tram times from one station to another
    ELSE if($startStation != '' && $endStation !='' && $DepartureTime =='' && $DepartureTime2 =='')
    $query ="SELECT b.boundName, s.stationName, t.departureTime
    FROM Station s, Time t, Bound b
    INNER JOIN Bound b
    ON S.boundID=B.boundID
    WHERE s.stationName = '$startStation'AND'$endStation'";


我尝试以下操作时会收到此消息:“非唯一表/别名:'b'”

这是我拥有的数据的示例:

stationID stationName boundID

5 |城市广场| 2 ________________________________________________________________________________
boundID boundName

2 |南南行________________________________________________________________________________

timeID出发时间tramID stationID

1 | 07:18:00 | 1 | 5

预期结果是,如果boundID相同,则用户能够插入startStartion和endStation并获得出发时间。

这是我要输出的结果

绑定名称|起始站|终点站|出发时间

南南界|斯托顿|城市广场| 09:49:00

最佳答案

尝试将查询更改为以下内容:

SELECT b.boundName as bond_name, s.stationName as station_name, t.departureTime as departure_time
FROM Station as s, Time as t, Bound as b
INNER JOIN Bound as b
ON s.boundID = b.boundID
WHERE s.stationName = '$startStation' AND s.stationName = '$endStation'

关于php - 内部联接问题PHP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37189798/

10-13 01:30