sql - 将窗口函数 SUM 限制为不低于零
问题描述
我正在尝试建立一个累积库存函数,我试图为每种材料计算未来的库存。由于订单不平衡,我可能会遇到滚动总和可能低于零的情况。我想避免这些,将总和限制为零(避免变成负数),并在下一次积极的交易中取回
这适用于 SAP HANA,据我了解,它支持常规 CTE,但不支持常规 CTE。我能够得到一个标准的 SUM OVER 去。
+----------+-------------+----------+----------+---------------+
| Material | Date | Quantity | SUM(NOW) | SUM(Expected) |
+----------+-------------+----------+----------+---------------+
| A | 07/01/2019 | 100 | 100 | 100 |
| A | 07/02/2019 | -20 | 80 | 80 |
| A | 07/03/2019 | -70 | 10 | 10 |
| A | 07/04/2019 | -20 | -10 | 0 |
| A | 07/05/2019 | 40 | 30 | 40 |
| A | 07/06/2019 | -20 | 10 | 20 |
+----------+-------------+----------+----------+---------------+
上面显示了当前和预期结果的示例表
解决方案
推荐阅读
- python - /esacp/profile/ 中的 RelatedObjectDoesNotExist 用户在 Django 中没有配置文件
- android - 某些设备上的 Android 布局太大
- azure - 无法从 Azure VM 中运行的 Windows 服务访问 Azure 文件共享
- java - 为什么我的纯 NIO selectKey 仍然选择了事件
- javascript - 防止在 iOS 13 / Mobile Safari 上点击并按住文本选择
- python - mypy 键入导致意外回溯
- reactjs - 如何在 React 应用程序中获取谷歌地图 api 输入字段的状态更新
- python - 请求多个网站的 Python 类
- django - 具有多对多关系的 DRF 2 路嵌套序列化
- javascript - 选择 2 和 Jquery