mysql - SQL不同条件多选

标签 mysql sql select join left-join

我想要做的(对于每个航类)是选择 Flight_number、Departure_airport 的 Name 和 Arrival_airport 的 Name 。出发航类有 MIN Leg_number,到达航类有 MAX Leg_number。

这个我已经试过了。但是连接零件或其他缺少的东西,这里是链接:http://sqlfiddle.com/#!2/263a2/5

最佳答案

看起来很奇怪..但这可能就是你想要的...... 我们在别名为“Z”的子查询中获取每个航类的最小/最大航段 我们使用它两次连接回 Flight_leg,一次用于出发,一次用于到达 然后再次返回机场两次,一次出发,一次到达。

 SELECT Z.Flight_Number, DA.Name DeptName, AA.Name ArrivName
    FROM (SELECT MIN(Leg_Number) MLN, MAX(Leg_Number) MxLN, Flight_Number
               FROM Flight_Leg Group by Flight_Number) Z
    INNER JOIN Flight_Leg D
     on D.Flight_Number = Z.Flight_Number 
    and D.Leg_Number = Z.MLN
    INNER JOIN Flight_Leg A
     on A.Flight_Number = Z.Flight_Number
     and A.Leg_Number = Z.MxLN
    INNER JOIN AirPort DA
     on DA.AirPort_Code = D.Departure_AirPort_Code
    INNER JOIN AirPort AA
     on AA.AirPort_Code = A.Arrival_AirPort_Code

http://sqlfiddle.com/#!2/263a2/56

关于mysql - SQL不同条件多选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28223479/

相关文章:

sql - 我的查询有多糟糕?

PHP - SELECT * FROM ...但首先查看数据库中的最后一个元素

MySQL,从两个表中选择时插入

MySQL - INSERT SELECT 为一列设置默认值

java - Spring Maven、MySQL、Hibernate、GlassFish : javax. persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey

mysql - 从表中选择除同一表中的某些记录之外的所有记录

mysql - JOIN 2 Tables 和 SELECT more cell

MySQL 查询需要很长时间

mysql - 有没有办法在 mysql 语句中分解单元格值

mysql - 加入查询这些问题