zoukankan      html  css  js  c++  java
  • 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
    100600486 100614-03-CSS 1 227470 6" Wafer
    100600486 100614-03-CSS 2 227471 6" Wafer
    100600486 100614-03-CSS 3 227472 6" Wafer
    100600486 100614-03-CSS 4 227473 6" Wafer
    100600486 100614-03-CSS 5 227474 6" Wafer
    100600486 100614-03-CSS 6 227475 6" Wafer
    100600486 100614-03-CSS 7 227476 6" Wafer
    100600486 100614-03-CSS 8 227477 6" Wafer
    100600486 100614-03-CSS 9 227478 6" Wafer
    100600486 100614-03-CSS 10 227479 6" Wafer
    100600486 100614-03-CSS 11 227480 6" Wafer
    100600486 100614-03-CSS 12 227481 6" Wafer
    100600486 100614-03-CSS 13 227482 6" Wafer
    100600486 100614-03-CSS 14 227484 6" Wafer
    100600486 100614-03-CSS 15 227485 6" Wafer
    100600486 100614-03-CSS 16 227487 6" Wafer
    100600486 100614-03-CSS 17 227488 6" Wafer
    100600486 100614-03-CSS 18 227491 6" Wafer
    100600486 100614-03-CSS 19 227493 6" Wafer
    100600486 100614-03-CSS 20 227495 6" Wafer
    100600486 100614-03-CSS 21 227496 6" Wafer
    100600486 100614-03-CSS 22 227497 6" Wafer
    100600486 100614-03-CSS 23 227498 6" Wafer
    100600486 100614-03-CSS 24 227499 6" Wafer
    100600486 100614-03-CSS 25 227500 8" Wafer
    100600486 100614-03-CSS 26 227501 8" Wafer
    100600486 100614-03-CSS 27 227502 6" Wafer
    100600486 100614-03-CSS 28 227503 5" Wafer
    100600486 100614-03-CSS 29 227504 5" Wafer
    100600486 100614-03-CSS 30 227505 5" Wafer
    100600486 100615-01-CSS 1 227748 6" Wafer
    100600486 100615-01-CSS 2 227753 6" Wafer
    100600486 100615-01-CSS 3 227754 6" Wafer
    100600486 100615-01-CSS 4 227756 6" Wafer
    100600486 100615-01-CSS 5 227757 6" Wafer
    100600486 100615-01-CSS 6 227758 6" Wafer
    100600486 100615-01-CSS 7 227759 6" Wafer
    100600486 100615-01-CSS 8 227761 6" Wafer
    100600486 100615-01-CSS 9 227762 6" Wafer
    100600486 100615-01-CSS 10 227765 5" Wafer
    100600486 100615-01-CSS 11 227766 6" 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
    1 100600486 100614-03-CSS 1 227470 6" Wafer
    2 100600486 100614-03-CSS 2 227471 6" Wafer
    3 100600486 100614-03-CSS 3 227472 6" Wafer
    4 100600486 100614-03-CSS 4 227473 6" Wafer
    5 100600486 100614-03-CSS 5 227474 6" Wafer
    6 100600486 100614-03-CSS 6 227475 6" Wafer
    7 100600486 100614-03-CSS 7 227476 6" Wafer
    8 100600486 100614-03-CSS 8 227477 6" Wafer
    9 100600486 100614-03-CSS 9 227478 6" Wafer
    10 100600486 100614-03-CSS 10 227479 6" Wafer
    11 100600486 100614-03-CSS 11 227480 6" Wafer
    12 100600486 100614-03-CSS 12 227481 6" Wafer
    13 100600486 100614-03-CSS 13 227482 6" Wafer
    14 100600486 100614-03-CSS 14 227484 6" Wafer
    15 100600486 100614-03-CSS 15 227485 6" Wafer
    16 100600486 100614-03-CSS 16 227487 6" Wafer
    17 100600486 100614-03-CSS 17 227488 6" Wafer
    18 100600486 100614-03-CSS 18 227491 6" Wafer
    19 100600486 100614-03-CSS 19 227493 6" Wafer
    20 100600486 100614-03-CSS 20 227495 6" Wafer
    21 100600486 100614-03-CSS 21 227496 6" Wafer
    22 100600486 100614-03-CSS 22 227497 6" Wafer
    23 100600486 100614-03-CSS 23 227498 6" Wafer
    24 100600486 100614-03-CSS 24 227499 6" Wafer
    25 100600486 100614-03-CSS 25 227500 8" Wafer
    26 100600486 100614-03-CSS 26 227501 8" Wafer
    27 100600486 100614-03-CSS 27 227502 6" Wafer
    28 100600486 100614-03-CSS 28 227503 5" Wafer
    29 100600486 100614-03-CSS 29 227504 5" Wafer
    30 100600486 100614-03-CSS 30 227505 5" Wafer
    31 100600486 100615-01-CSS 1 227748 6" Wafer
    32 100600486 100615-01-CSS 2 227753 6" Wafer
    33 100600486 100615-01-CSS 3 227754 6" Wafer
    34 100600486 100615-01-CSS 4 227756 6" Wafer
    35 100600486 100615-01-CSS 5 227757 6" Wafer
    36 100600486 100615-01-CSS 6 227758 6" Wafer
    37 100600486 100615-01-CSS 7 227759 6" Wafer
    38 100600486 100615-01-CSS 8 227761 6" Wafer
    39 100600486 100615-01-CSS 9 227762 6" Wafer
    40 100600486 100615-01-CSS 10 227765 5" Wafer
    41 100600486 100615-01-CSS 11 227766 6" Wafer
  • 相关阅读:
    nginx的rewrite指令
    springmvc上传图片《2》
    cors解决跨域
    java8的Streams
    vue基础篇---路由的实现《2》
    vue基础篇---vue组件《2》
    vue基础篇---watch监听
    ES6新特性
    ubuntu tftp 配置
    驱动程序分层分离概念--总线驱动设备模型
  • 原文地址:https://www.cnblogs.com/milo-xie/p/6426916.html
Copyright © 2011-2022 走看看