我有一个问题为视图构建MySQL查询。以下是我的关系数据库结构和一些示例数据。MySql查询关系数据库中的视图
travel
| ID | NUM |
| 01 | N01 |
| 02 | N02 |
travel_has_flight
| travel_ID | flight_ID |
| 01 | 01 |
| 01 | 02 |
| 02 | 03 |
flight
| ID | NUM | DEPARTURE_DATE | ARRIVAL_DATE |
| 01 | A01 | 2010-10-10 12:50 | 2010-10-10 17:50 |
| 02 | A02 | 2010-10-17 14:50 | 2010-10-17 14:50 |
| 03 | A03 | 2010-10-22 12:50 | 2010-10-22 17:50 |
预期输出:
从查询作为视图。
| travel_ID | travel_NUM | flight_NUM1 | flight_DEPARTURE_DATE | flight_NUM2 | flight_ARRIVAL_DATE |
| 01 | N01 | A01 | 2010-10-10 12:50 | A02 | 2010-10-17 14:50 |
| 02 | N02 | A03 | 2010-10-10 12:50 | A03 | 2010-10-17 14:50 |
输出应该如下。旅行可以包含1班航班。在这种情况下,输出是来自此次航班的行程+日期的数据。如果旅行包含2班航班,则应返回旅行+第一班航班的出站日期和第二班航班的入境日期的数据。
我会很乐意为此提供任何帮助。
###更新###
我与SQL低于目前卡住了,问题是现在如何单独flight_NUM的加入...
SELECT t.ID, t.NUM, Min(f.DEPARTURE_DATE), MAX(f.ARRIVAL_DATE)
FROM travel t
INNER JOIN travel_has_flight tf ON tf.TRAVEL_ID = t.ID
INNER JOIN flight f ON f.ID = tf.FLIGHT_ID
GROUP BY t.NUM
你是否为一家航空公司工作? – Shaggy
试图升级我的第三方计费系统以适应我的需求? – RUTKLUK