zoukankan      html  css  js  c++  java
  • Oracle累计函数

    今天遇到一个客户的报表需求,在shipment的报表中要查看该shipment中的每个PO的采购数量,当前shipment的出货数量以及累计的所有出货数量。

    要有累计的出货数,并且是要有顺序的累计出货数量,例如某个PO为A,出A相关的invoice有三张,如果也是三个shipment出货,三个invoice中该PO的出货数量分别为954、827、1305。打开shipment报表,会按invoice的时间(因为先开票才有出货单shipment)来计算已经累计的出货数量。

    这边可以从INV_NO来取代INV DATE,因为INV NO后面接的实际上是日期时间,所以用INV_NO来排序是等效的。

    数据如下:

    这里主要用到的是SUM() OVER(ORDER BY)语法,即按INV NO升序去加总QTY

    SELECT SQTY FROM (SELECT INV_NO,SUM(qty) over(ORDER BY INV_NO ASC) SQTY from TKINC
    WHERE PART_NO='FLTS-T1603330' and color_no='095A' 
    AND QTY<>0 and AND SIZE_NAME='FOC') WHERE INV_NO='INV20161214115254982'

    结果如下:

    SELECT SQTY FROM (SELECT INV_NO,SUM(qty) over(ORDER BY INV_NO ASC) SQTY from TKINC
    WHERE PART_NO='FLTS-T1603330' and color_no='095A' 
    AND QTY<>0 and AND SIZE_NAME='FOC') WHERE INV_NO='INV20161214115254982'

  • 相关阅读:
    安装devstack之配置proxy
    设备信息表项目
    好的运维工程师
    rhel 6.4 增加光盘为yum repo
    深度运维产品工具关键词
    坚持是一种能力
    书单 电影单 电视剧单
    三日不读书,便觉得言语无味,面目可憎
    STAR法则
    【断舍离】
  • 原文地址:https://www.cnblogs.com/milo-xie/p/6426706.html
Copyright © 2011-2022 走看看