按FIFO顺序按BBD对项目进行排序

时间:2016-04-12 07:56:10

标签: sql oracle

我有一个表库存,可以按特定顺序在多个位置存储库存物料。假设我在表中有以下记录:

Item  BBD          Location  Sequence 
P1    2016-04-13   LOC_01    1
P1    2016-04-16   LOC_01    2
P1    2016-04-14   LOC_01    3
P1    2016-04-12   LOC_02    1
P1    2016-04-14   LOC_02    2
P1    2016-04-15   LOC_02    3

“序列”列定义项目位置的序列(或位置)。考虑到每个位置只能按FIFO顺序访问,我的目标是按BBD对记录进行排序,使每个位置的所有项目必须始终按顺序检索。例如,对于上面的记录,结果应如下所示:

Item  BBD          Location  Sequence 
P1    2016-04-12   LOC_02    1
P1    2016-04-13   LOC_01    1
P1    2016-04-14   LOC_02    2
P1    2016-04-15   LOC_02    3
P1    2016-04-16   LOC_01    2
P1    2016-04-14   LOC_01    3

我能够,以及如何使用sql查询执行此操作?

编辑:我不能简单地执行order by bbd, sequenceorder by sequence, bbd因为它会破坏第一种情况下某个位置中项目的顺序,或者逐行返回项目中的位置第二种情况。基本上我只能从前面访问每个位置,我必须首先在这些位置检索最旧的BBD库存。结果应该让我尽可能深地挖掘到一个位置,如果它有最老的BBD库存然后让我去另一个位置的前面有第二个最老的BBD库存并挖掘它等等。

0 个答案:

没有答案
相关问题