2011-03-31 97 views
2

我有这两个表MySQL查询 - 2个外键

airports: airportid, airportname 
flights: flightid, from_airport, to_airport 

其中from_airportto_airport是外键。

我可以连接的表或者在airportidfrom_airportairportidto_airport,要么我得到的to_airportfrom_airport名字名字,但我想无论是在一个查询或以最低的成本来选择这两个to_airportfrom_airport名。

有没有可能?怎么样??

这里是我的查询:做的时候

SELECT 
flight.idflight, 
flight.idairline, 
flight.from_airport, 
flight.to_airport, 
flight.number, 
airports.name AS origin 
FROM 
flight 
Inner Join airports ON flight.from_airport = airports.idairports 

回答

2

别名你的表的联接:

SELECT 
    flight.idflight, 
    flight.idairline, 
    flight.from_airport, 
    flight.to_airport, 
    flight.number, 
    airport_from.name AS origin 
    airport_to.name AS destination 
FROM flight 
    INNER JOIN airports airport_from ON flight.from_airport = airport_from.idairports 
    INNER JOIN airports airport_to ON flight.to_airport = airport_to.idairports