Oracle排序函數Rank

出口給報關行出貨的時候,同一票shipment中合併多個invoice跟packing,轉出到廠商的報關系統時候,出口報關的序號會將invoice的序號做自動增加。

因為wafer會有出口給其他外包做初階加工,加工完之後再回貨,回貨就是需要再進口回來。進口做報關的時候就會有原出口的報單號碼,也需要明確到報單的項次。

因為原本出口并沒有字段記錄對於的出口報關項次,所以只能重新去計算一遍。

舉例如下,SI# 100600486為兩筆invoice並單出貨,第一筆INV#100614-03-CSS有30個項次,第二筆INV#100615-01-CSS有11個項次。

 

SELECT M.SHIPMENT_ID, I.INV_NO, I.SEQ_NO, I.WIP_ENTITY_NAME,I.DESCP
FROM DECL_INV M, DECL_INV_ITEM I
WHERE M.INV_NO = I.INV_NO
AND M.DOC_FLAG = 'D'
AND I.DOC_FLAG = 'D'
AND M.SHIPMENT_ID = '100600486'
SHIPMENT_IDINV_NOSEQ_NOWIP_ENTITY_NAMEDESCP
100600486100614-03-CSS12274706" Wafer
100600486100614-03-CSS22274716" Wafer
100600486100614-03-CSS32274726" Wafer
100600486100614-03-CSS42274736" Wafer
100600486100614-03-CSS52274746" Wafer
100600486100614-03-CSS62274756" Wafer
100600486100614-03-CSS72274766" Wafer
100600486100614-03-CSS82274776" Wafer
100600486100614-03-CSS92274786" Wafer
100600486100614-03-CSS102274796" Wafer
100600486100614-03-CSS112274806" Wafer
100600486100614-03-CSS122274816" Wafer
100600486100614-03-CSS132274826" Wafer
100600486100614-03-CSS142274846" Wafer
100600486100614-03-CSS152274856" Wafer
100600486100614-03-CSS162274876" Wafer
100600486100614-03-CSS172274886" Wafer
100600486100614-03-CSS182274916" Wafer
100600486100614-03-CSS192274936" Wafer
100600486100614-03-CSS202274956" Wafer
100600486100614-03-CSS212274966" Wafer
100600486100614-03-CSS222274976" Wafer
100600486100614-03-CSS232274986" Wafer
100600486100614-03-CSS242274996" Wafer
100600486100614-03-CSS252275008" Wafer
100600486100614-03-CSS262275018" Wafer
100600486100614-03-CSS272275026" Wafer
100600486100614-03-CSS282275035" Wafer
100600486100614-03-CSS292275045" Wafer
100600486100614-03-CSS302275055" Wafer
100600486100615-01-CSS12277486" Wafer
100600486100615-01-CSS22277536" Wafer
100600486100615-01-CSS32277546" Wafer
100600486100615-01-CSS42277566" Wafer
100600486100615-01-CSS52277576" Wafer
100600486100615-01-CSS62277586" Wafer
100600486100615-01-CSS72277596" Wafer
100600486100615-01-CSS82277616" Wafer
100600486100615-01-CSS92277626" Wafer
100600486100615-01-CSS102277655" Wafer
100600486100615-01-CSS112277666" Wafer

 

SELECT rank() over(partition by M.SHIPMENT_ID ORDER BY I.INV_NO ASC, I.SEQ_NO ASC) DECLEAR_SEQ_NO,
M.SHIPMENT_ID,
I.INV_NO,
I.SEQ_NO,
I.WIP_ENTITY_NAME,
I.DESCP
FROM DECL_INV M, DECL_INV_ITEM I
WHERE M.INV_NO = I.INV_NO
AND M.DOC_FLAG = 'D'
AND I.DOC_FLAG = 'D'
AND M.SHIPMENT_ID = '100600486'

這裡其實主要是用到RANK函數,依據INV NO跟SEQ NO來做排序得到一個排序之後的序號,結果如下:

DECLEAR_SEQ_NOSHIPMENT_IDINV_NOSEQ_NOWIP_ENTITY_NAMEDESCP
1100600486100614-03-CSS12274706" Wafer
2100600486100614-03-CSS22274716" Wafer
3100600486100614-03-CSS32274726" Wafer
4100600486100614-03-CSS42274736" Wafer
5100600486100614-03-CSS52274746" Wafer
6100600486100614-03-CSS62274756" Wafer
7100600486100614-03-CSS72274766" Wafer
8100600486100614-03-CSS82274776" Wafer
9100600486100614-03-CSS92274786" Wafer
10100600486100614-03-CSS102274796" Wafer
11100600486100614-03-CSS112274806" Wafer
12100600486100614-03-CSS122274816" Wafer
13100600486100614-03-CSS132274826" Wafer
14100600486100614-03-CSS142274846" Wafer
15100600486100614-03-CSS152274856" Wafer
16100600486100614-03-CSS162274876" Wafer
17100600486100614-03-CSS172274886" Wafer
18100600486100614-03-CSS182274916" Wafer
19100600486100614-03-CSS192274936" Wafer
20100600486100614-03-CSS202274956" Wafer
21100600486100614-03-CSS212274966" Wafer
22100600486100614-03-CSS222274976" Wafer
23100600486100614-03-CSS232274986" Wafer
24100600486100614-03-CSS242274996" Wafer
25100600486100614-03-CSS252275008" Wafer
26100600486100614-03-CSS262275018" Wafer
27100600486100614-03-CSS272275026" Wafer
28100600486100614-03-CSS282275035" Wafer
29100600486100614-03-CSS292275045" Wafer
30100600486100614-03-CSS302275055" Wafer
31100600486100615-01-CSS12277486" Wafer
32100600486100615-01-CSS22277536" Wafer
33100600486100615-01-CSS32277546" Wafer
34100600486100615-01-CSS42277566" Wafer
35100600486100615-01-CSS52277576" Wafer
36100600486100615-01-CSS62277586" Wafer
37100600486100615-01-CSS72277596" Wafer
38100600486100615-01-CSS82277616" Wafer
39100600486100615-01-CSS92277626" Wafer
40100600486100615-01-CSS102277655" Wafer
41100600486100615-01-CSS112277666" Wafer

转载于:https://www.cnblogs.com/milo-xie/p/6426916.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值