我不确定是否可以仅使用 select 语句完成以下操作,但我有两个表(截断了问题所需的数据)。
库存项目
- id int(主要)
- 数量int
库存- 包含库存项目的库存变化(库存历史)
- id int(主要)
- inventory_item_id int(外键)
- 数量int
- 创建日期时间
库存数量是库存的变化,而库存项目的数量是该项目的当前数量
列中的running
所有内容都将返回 0
SELECT
inventory_item.id,
(inventory_item.quantity - SUM(stock.quantity)) AS running
FROM
stock
JOIN
inventory_item ON stock.inventory_item_id = inventory_item.id
GROUP BY inventory_item.id
问题
现在,我想知道的是:是否可以使用 SELECT 选择库存表中库存项目的运行数量变为零的所有日期?
我知道这可以通过简单地选择一个项目中的所有库存数据以编程方式完成,然后从当前库存项目数量中单独减去库存数量,这将获得库存变化发生之前的数量。我可以用 SELECT 来做到这一点吗?