0

テーブル名:ルート

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

テーブル名:ステーション

Station_ID (int),
Name (char)

Route_From、、、Route_Toおよびの値はStation_ID同じです。

2つの異なる条件でstations.nameから2つの値を取得する方法を知りたいです。たとえば、

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

どうすればよいですか?

4

3 に答える 3

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;
于 2012-04-27T11:22:36.487 に答える
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;
于 2012-04-27T11:25:03.987 に答える
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;
于 2014-04-04T10:59:30.287 に答える