Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL子查询联接_Mysql_Sql_Join - Fatal编程技术网

Mysql SQL子查询联接

Mysql SQL子查询联接,mysql,sql,join,Mysql,Sql,Join,我有下列表格 Table 'Flight' ( number int, dest VARCHAR(4), arrTime Date, Foreign Key(dest) references Airport(code) ) 及 假设我有以下飞行数据 'Flight' 2,'TX','10/5/2015 1:32' 3,'NY','10/5/2015 4:20' 1,'TX','10/5/2015 1:20' 4,'NY','10/5/2015 4:21' 机场呢 'TX' 'NY'

我有下列表格

Table 'Flight' (
number int,
dest VARCHAR(4),
arrTime Date,
Foreign Key(dest) references Airport(code)
)

假设我有以下飞行数据

'Flight'
 2,'TX','10/5/2015 1:32'
 3,'NY','10/5/2015 4:20'
 1,'TX','10/5/2015 1:20'
 4,'NY','10/5/2015 4:21'
机场呢

'TX'
'NY'
对于每个机场,我希望检索连续到达机场的所有航班号,因此它与我为航班表提供的数据非常相似。我正在做一个子查询来完成这项工作,但我无法得到所需的输出

 1,'TX','10/5/2015 1:20'
 2,'TX','10/5/2015 1:32'
 3,'NY','10/5/2015 4:20'
 4,'NY','10/5/2015 4:21'
我已经尝试了以下方法,但是我无法得到正确的输出

SELECT Airport.code, Timez
FROM Flight JOIN Airport
ON Flight.dest = Airport.code
ORDER BY DATE(arrTime) DESC as Timez

非常感谢您的帮助

我想您希望这能得到您所指示的输出:

SELECT Flight.number n, Airport.code c, Flight.arrTime t
   FROM Flight JOIN Airport
   ON Flight.dest = Airport.code
   ORDER BY c, t DESC 
无需转换
arrTime
字段,因为它已在日期


但是,由于日期格式的
arrTime
字段没有保留完整的日期和时间,因此无法获取完整的日期和时间。您需要一个DATETIME或TIMESTAMP字段来代替它。

使用
按机场、航班、到达时间排序

这将对同一机场的所有航班进行排序,然后在这些组中按时间进行排序


不要使用
DESC
,这样会使它们按相反的时间顺序排列。

选择Airport.code、Flight.arrTime 从班机到机场 ON Flight.dest=Airport.code
按机场订购。代码,航班。到达时间ASC

先按机场订购,然后按到达时间订购。所以它看起来像:按机场订购。代码,到达时间
SELECT Flight.number n, Airport.code c, Flight.arrTime t
   FROM Flight JOIN Airport
   ON Flight.dest = Airport.code
   ORDER BY c, t DESC