如何在多列上进行INNER JOIN
我正在做一个家庭作业项目,应该执行一个数据库查询,该查询可以按城市名称或机场代码查找航班,但是该flights表仅包含机场代码,因此如果要按城市搜索,我必须参加airports桌子。 机场表有以下几列:code, city 该航班表有以下几列:airline, flt_no, fairport, tairport, depart, arrive, fare 列fairport和tairport是从和到机场代码。 列depart和arrive是出发和到达的日期。 我想出一个查询,该查询首先将fairport列和airports.code列上的广告投放合并在一起。为了使我能够匹配,tairport我必须在从第一个联接开始的先前比赛中执行另一个联接。 SELECT airline, flt_no, fairport, tairport, depart, arrive, fare FROM (SELECT * FROM flights INNER JOIN airports ON flights.fairport = airports.code WHERE (airports.code = '?' OR airports.city='?')) AS matches INNER JOIN airports ON matches.tairport = airports.code WHERE (airports.code …