我想请求您帮助构建单个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子查询的每个分区中选择最高记录