【发布时间】:2017-05-28 12:52:48
【问题描述】:
我正在尝试从包含有关巴士路线车站详细信息的表中选择行。
如果选择一条公交路线,则起点站和终点站之间的所有车站都将插入到此表中。
我想做的是。告诉乘客当他/她想从当前地点去他/她的目的地时他/她应该选择哪条公交路线
这样做我得到他的起点(最近的汽车站)和目的地
然后我需要获取在巴士路线之间有这两个车站的所有巴士路线编号。
在某些时候,可能会有公交路线只经过乘客想去的一个车站。 前任。可能有一辆巴士只能经过乘客的当前位置或她/他的目的地
那些我不想向乘客显示的路线。
从下表中,如果我搜索,我只需要显示 168 和 163 路线号 开始位置 = 'kotte junction' 和结束位置 = 'bangala junction' 因为170路没有经过乘客目的地。
+--------------------------------------------------------------------------------------+
| ID|route_number|station_name|station_order|added_date|CURRENT_TIMESTAMP|last_updater |
+--------------------------------------------------------------------------------------+
| |1|168|Kotahena|1|2017-05-28|2017-05-28 08:13:13|100024 |
| |2|168|borella|2|2017-05-28|2017-05-28 08:13:13|100024 |
| |3|168|kota road|3|2017-05-28|2017-05-28 08:14:20|100024 |
| |4|168|Rajagiriya|4|2017-05-28|2017-05-28 08:14:20|100024 |
| |5|168|kotte junction|5|2017-05-28|2017-05-28 08:15:46|100024 |
| |6|168|mati ambalama|6|2017-05-28|2017-05-28 08:15:46|100024 |
| |7|168|kotubamma|7|2017-05-28|2017-05-28 08:16:35|100024 |
| |8|168|bangala junction|8|2017-05-28|2017-05-28 08:16:35|100024 |
| |9|163|dehiwala|1|2017-05-28|2017-05-28 08:50:09|100024 |
| |10|163|battaramulla|2|2017-05-28|2017-05-28 08:50:09|100024 |
| |11|163|kotte junction|2|2017-05-28|2017-05-28 08:50:56|100024 |
| |12|163|mati ambalama|3|2017-05-28|2017-05-28 08:50:56|100024 |
| |13|163|kotubamma|4|2017-05-28|2017-05-28 08:51:42|100024 |
| |14|163|bangala junction|5|2017-05-28|2017-05-28 08:51:42|100024 |
| |15|170|kotte junction|1|2017-05-28|2017-05-28 09:04:47|100024 |
| |16|170|mati ambalama|2|2017-05-28|2017-05-28 09:04:47|100024 |
+--------------------------------------------------------------------------------------+
我尝试了流动查询,但没有得到我真正想要的。
SELECT * FROM `bus_route_stations` WHERE `station_name` = 'kotte junction' UNION ALL SELECT * FROM `bus_route_stations` WHERE `station_name` = 'bangala junction'
SELECT * FROM bus_route_stations A
INNER JOIN bus_route_stations B
ON B.station_name = A.station_name
WHERE A.station_name = 'kotte junction' AND B.station_name = 'bangala junction'
SELECT * FROM bus_route_stations A INNER JOIN bus_route_stations B ON B.station_name = A.station_name WHERE A.station_name IN('kotte junction' ,'bangala junction')
【问题讨论】: