2012-04-27 24 views
0

表名:路線如何根據MySQL中兩種不同的條件從同一列檢索兩個值?

Route_ID (int) 
Route_From (int) 
Route_To (int) 

表名:站Route_FromRoute_To,並Station_ID

Station_ID (int), 
Name (char) 

值是相同的。

我想知道如何從兩個不同的條件下從stations.name中檢索兩個值。例如,像

select s.name, s.name from stations s, route r, 
where route_from=1 and 
route_to=3; 

我該怎麼做?

+0

笏做ü從站兩個值的意思 – Addicted 2012-04-27 11:23:25

回答

2

也許你可以這樣做:

SELECT 
    Route.Route_ID, 
    fromStation.Name, 
    toStation.Name 
FROM 
    Route 
    LEFT JOIN Stations AS fromStation 
     ON Route.Route_From =fromStation.Station_ID 
    LEFT JOIN Stations AS toStation 
     ON Route.Route_To =toStation.Station_ID 
WHERE 
    Route.Route_ID = 1; 
0

我想你想要更多的東西是這樣的:

select s1.name as route_from, s2.name as route_to from route r 
left join stations s1 on r.route_from = s1.Station_ID 
left join stations s2 on r.route_to = s2.Station_ID 
where Route_ID = 1; 
0
SELECT 
Route.Route_ID, 
fromStation.Name, 
toStation.Name 
FROM 
Route 
LEFT JOIN Stations AS fromStation 
    ON Route.Route_From =fromStation.Station_ID 
LEFT JOIN Stations AS toStation 
    ON Route.Route_To =toStation.Station_ID 
WHERE 
Route.Route_ID = 1; 
相關問題