【问题标题】:Earliest Available Date - Sum Qty's最早可用日期 - 总数量
【发布时间】:2018-07-24 23:09:57
【问题描述】:

我正在尝试确定一件商品的最早可用日期。以下记录是未结采购订单日期的示例。

如果销售订单要求数量 150,则最早可用日期为 2018-09-06

如果销售订单要求数量 160,则最早可用日期为 2018-09-28

使用下面的语句只会返回2018-10-01MAX日期值,有没有办法根据SUM(po_qty) >= sales_order_qty获取正确的最早日期?

IIF(SUM(po_qty) >= sales_order_qty,MAX(receive_date)) = 2018-10-01


branch item_id  po_qty receive_date
VMXX    93111   50     2018-06-13
VMXX    93111   50     2018-08-02
VMXX    93111   50     2018-09-06
VMXX    93111   100    2018-09-28
VMXX    93111   50     2018-10-01

【问题讨论】:

    标签: sql sum max sumifs


    【解决方案1】:

    在大多数数据库中,您会使用 ANSI 标准的累积和功能:

    select min(receive_date)
    from (select t.*,
                 sum(po_qty) over (partition by branch, item_id order by receive_date) as running_qty
          from t
          where branch = ? and item_id = ?
        ) t
    where running_qty >= ?;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-30
      • 1970-01-01
      • 2021-10-29
      • 2021-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多