SQL创建具有连接航班的视图

时间:2014-11-21 18:27:26

标签: mysql sql

我有以下任务:

我需要创建一个显示第一次飞行及其转机航班的视图。

在此示例中,FlightNo 1& 2。

-

我的航班表:

FlightNo---Date--------StartTime---ArrivingTime---StartPort---DestinationPort

 1. ----2014-11-20---01:00:55-----02:00:34----------a----------------b
 2. ----2014-11-20---02:10:55-----03:00:34----------b----------------c
 3. ----2014-11-20---20:00:55-----21:00:34----------x----------------q
 4. ----2014-11-20---00:00:55-----01:00:34----------a----------------u

...

我的代码到目前为止:

create OR REPLACE view FlightConnection as

select* FROM Flight a

where  exists  (select* FROM Flight b
where a.StartPort = b.DestinationPort and
a.ArrivingTime < b.StartTimet); 

我的输出:

FlightNo---Date--------StartTime---ArrivingTime---StartPort---DestinationPort

 ---1 ----2014-11-20---01:00:55-----02:00:34----------a----------------b

-

但我需要FlightNo 1和2。 我尝试了几种不同的东西,但我认为我暂时愚蠢。

请帮助。 (对不起我的英文)

1 个答案:

答案 0 :(得分:0)

您需要执行(自 - )JOIN以获取包含有关可能连接的两个航班的数据的结果行。这应该让你开始:

CREATE OR REPLACE VIEW FlightConnection AS
  SELECT *
  FROM Flight a
    JOIN Flight b
      ON a.DestinationPort = b.StartPort
        AND a.Date = b.Date
        AND a.ArrivingTime < b.StartTime