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'

  • 相关阅读:
    盲山有感
    一个用Regex的完成sql语句中字段替换的demo
    月夜奔跑
    乱弹
    《勇敢抉择》摘录一
    梦想高歌
    从今天起
    php性能优化
    unity3d shader中RenderType的所有类型
    Unity打包ipa图文教程
  • 原文地址:https://www.cnblogs.com/milo-xie/p/6426706.html
Copyright © 2011-2022 走看看