小编Sho*_*Sul的帖子

在子查询之间的ORACLE join语句中选择最高记录

我想请求您帮助构建单个ORACLE SQL语句:

使用作业表如下

Object | Operation | Time  
A      | Move      | 12:01  
B      | Move      | 12:02  
C      | Pickup    | 12:03  
D      | Move      | 12:04  
B      | Pickup    | 12:05  
Run Code Online (Sandbox Code Playgroud)

获取结果表如下.

Object | Operation | Time  | Cause  
A      | Move      | 12:01 | C  
B      | Move      | 12:02 | C  
D      | Move      | 12:04 | B 
Run Code Online (Sandbox Code Playgroud)

这是为了确定哪个Pickup操作导致每个Move操作.
"原因"列必须包括移动操作旁边最小时间的拾取作业记录的对象.

我有一些想法如下,但不知道如何.
- .它需要在Move的子查询和Pickup的子查询之间使用join语句
.必须通过要加入的移动记录对分拣子查询进行分区
- .必须仅从Pickup子查询的每个分区中选择最高记录

sql oracle

6
推荐指数
1
解决办法
1389
查看次数

标签 统计

oracle ×1

sql ×1