數據庫是關於公共汽車交通顯示,從1臺的ID,這樣有三個表:如何從2點不同的ID從第2臺
STOP
stop_id | stop_name
--------------------
1 | station_1
2 | station_2
3 | station_3
ROUTE
route_id | route_num
--------------------
1 | route_1
2 | route_2
3 | route_3
ROUTE_STOP
stop_id | route_id
------------------
1 | 1
2 | 1
1 | 2
3 | 2
1 | 3
2 | 3
3 | 3
所以第1路有站1和2,第2路有站1和3,第3路有全站。
試圖讓route_num
它通過station_1和station_3雲:
SELECT distinct(r.route_num) from STOP s
JOIN ROUTE_STOP rs
ON s.stop_id = rs.stop_id
JOIN ROUTE_STOP r_s
ON rs.stop_id = r_s.stop_id
JOIN ROUTE r
ON rs.route_id = r.route_id
WHERE s.stop_name='station_1' OR s.stop_name='station_3'
AND rs.stop_id <> r_s.stop_id
和結果應該是route_2和route_3,但它不工作。如果站點之間沒有路線,則不應有結果。
如何獲得route_num
經過2個站,沒有結果,如果沒有2站之間的路線?
是否達到停止的順序很重要?這不記錄在您的模式中。 – Strawberry
無關緊要,ROUTE_STOP中的字段'time'將顯示,它將被添加 – Chiefster