2011-07-26 164 views
0

我是MYSQL的新手。任何帮助,将不胜感激。查询加入两张表

我有两个表的机场,邮电具有以下字段:

机场

id, Airport-code, Airport_name 

帖子

id, Source_Airport_code, Destination_airport_code, Date_of_departure, preference 

如何获得与以下字段的记录(这里的来源和目的地对应机场名称,而不是代码):

Source, destination, date_of_departure 

回答

0

试试这个启动:

select 
    s.airport_name as source, 
    d.airport_name as destination, 
    p.date_of_departure 
from posts p 
    inner join airports s 
    on p.source_airport_code = s.id 
    inner join airports d 
    on d.source_airport_code = d.id 

而且我讨厌这样说,但我觉得你有很长的路要走。

2

如果FK在Posts.*_Airport_code并不是指Airports.id为MJB假定但Airports.Airport_code然后

SELECT 
    APS.Airport_name AS Source, 
    APD.Airport_name AS Destination, 
    Posts.date_of_departure 
FROM Posts 
    INNER JOIN Airports APS ON(APS.Airport_code = Posts.Source_Airport_code) 
    INNER JOIN Airports APD ON(APD.Airport_code = Posts.Destination_airport_code) 
+0

D'哦 - 我想你是对的。我应该仔细阅读。 – MJB