我正在尝试追踪桌子上发生的所有变化
我试过这个查询
Update Stocks
Set stockOut = 100
,TrackDate = '1/30/2016'
,stockOnHand = stockOnHand - 400
WHERE itemID = '4589-S';
还有这两个。
Update Stocks
Set stockOut = 200
,TrackDate = '2/30/2016'
,stockOnHand = stockOnHand - 400
WHERE itemID = '4589-S';
现在我用这个查询
SELECT
[ItemID]
,[ProdID]
,[stockOnHand]
,[stockIn]
,[stockOut]
,[TrackDate]
from Stocks
where TrackDate between '1/30/2016' and '5/30/2016'
跟踪特定范围内的变化
日期。但是我只得到1个结果
我期待得到2个结果,因为我在两个不同的日期更新了此表。
最佳答案
您需要两个表,
库存和库存_历史
插入/更新股票时,还应该在STOCK_HISTORY表中创建一个新记录。该表的列应类似于ID,STOCK_ID,ACTION(创建,更新,删除)和TIMESTAMP。
这样,您在STOCK表中就不会有无用的信息,并且每当要列出库存的所有更改时,您都可以执行以下操作:
SELECT * FROM stocks s
JOIN stock_history sh ON sh.stockId = s.id
WHERE s.id = $stockId
关于mysql - 如何使用select获取多行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37527043/