【发布时间】:2013-06-28 21:37:59
【问题描述】:
我不确定是否可以仅使用 select 语句完成以下操作,但我有两个表(截断了问题所需的数据)。
库存项目
- id int(主要)
- 数量int
Stock - 包含库存项目的库存变化(库存历史)
- 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 执行此操作吗?
【问题讨论】:
-
对于给定的inventory_item_id 和created 组合是否会有多个记录?
标签: mysql