Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.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
Oracle-Sql-具有其他表中最高值的条目_Sql_Oracle_Max - Fatal编程技术网

Oracle-Sql-具有其他表中最高值的条目

Oracle-Sql-具有其他表中最高值的条目,sql,oracle,max,Sql,Oracle,Max,我有四张桌子,包括汽车、地点、时间和检查室 乘车时间 Checkroom是关系表 我只需要从时间开始的日期、位置名称和具有最高运行时间的汽车名称 有人能给你一个提示,如何解决这个问题吗?尝试使用以下查询: select Time.Time_date, Location.Location_name, Car.Car_name from Time inner join Checkroom on Time.Time_ID = Checkroom.Time_ID inner join Location

我有四张桌子,包括汽车、地点、时间和检查室

乘车时间 Checkroom是关系表

我只需要从时间开始的日期、位置名称和具有最高运行时间的汽车名称

有人能给你一个提示,如何解决这个问题吗?

尝试使用以下查询:

select Time.Time_date, Location.Location_name, Car.Car_name 
from Time
inner join Checkroom on Time.Time_ID = Checkroom.Time_ID
inner join Location on Checkroom.Location_ID = Location.Location_ID
inner join Car on Checkroom.Car_ID = Car.Car_ID
where Time.Time_runtime = (select MAX(Time_runtime) from Time)

在Oracle的情况下,连接表,按时间顺序执行运行时描述,使用FETCH FIRST仅获取一行—时间最长的一行

select Time.Time_date, Location.Location_name, Car.Car_name 
from Time
inner join Checkroom on Time.Time_ID = Checkroom.Time_ID
inner join Location on Checkroom.Location_ID = Location.Location_ID
inner join Car on Checkroom.Car_ID = Car.Car_ID
order by Time.Time_runtime DESC
FETCH FIRST 1 ROWS ONLY

FETCH FIRST仅在较新的Oracle版本中可用。

您的代码在哪里!到目前为止,您尝试了什么?在Oracle案例中,加入表,按运行时描述进行排序,限制为1。问题是检查室可能有许多不同的汽车id。通过你的查询,它将只显示运行时间最高的汽车,而不是运行时间最高的evry汽车。我想这是你要求的!你的意思是如果平局,你想要前两名的车吗?或者?是的,对!当der是3辆车的5个入口时,我希望这3辆车具有我所看到的最高运行时间。那就听威震天的回答吧。