从不同的表中减去两列并更新库存

时间:2016-11-29 06:55:43

标签: sql oracle

我需要根据SALELINE表格中销售的数量更新商店库存表中的产品数量

所以,我想从SALELINE表中为Store_inv和QTYSOLD从每个具有Product_id的产品中减去QTYONHAND

Store_inv和SALELINE的Product_id都为(FK)

3 个答案:

答案 0 :(得分:0)

我没有清楚你在表格中有什么数据。基于你的问题假设   我在下面发布了query.First使用子查询从两个表中减去数量而不是更新库存表

UPDATE store_inventory SET product_quantity = A.SubQty
FROM 
(
   SELECT ( QTYONHAND - QTYSOLD ) SubQty,SALELINE.Product_id AS Product_id
   FROM Store_inv
   JOIN SALELINE ON Store_inv.Product_id = SALELINE.Product_id
) A 
WHERE A.Product_id = store_inventory.Product_id

答案 1 :(得分:0)

答案 2 :(得分:0)

试试这个:

UPDATE SALELINE s
INNER JOIN store_inv si ON s.product_id = si.product_id
SET s.product_quantity = (si.QTYONHAND-s.QTYSOLD)