単なるselectステートメントを使用して以下を実行できるかどうかはわかりませんが、2つのテーブルがあります(問題に必要なデータで切り捨てられています)。
在庫品目
- id int (プライマリ)
- 数量整数
在庫- 在庫品目の在庫の変更が含まれます (在庫履歴)
- id int (プライマリ)
- inventory_item_id int (FOREIGN KEY)
- 数量整数
- 作成日時
在庫数量は在庫の変動であり、在庫品目の数量はその品目の現在の数量です。
列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を使用してinventory_itemの実行中の数量がゼロになる在庫テーブルのすべての日付を選択することは可能ですか?
これは、1 つのアイテムの在庫データをすべて選択し、現在の在庫アイテムの数量から在庫数量を個別に差し引くだけで、プログラムで実行できることを知っています。これにより、在庫の変更が発生する前の数量が得られます。SELECTでこれを行うことはできますか?