我需要一个更新查询来遍历所有 b.quantityOrdered 并从 d.quantityInStock 中减去该数量。SQL 循环准确地显示了我需要更新的内容:
select
d.productCode as prod,
b.quantityOrdered as qtyO,
d.quantityInStock as qtyIS
from orders a
left join orderdetails b on a.orderNumber=b.orderNumber
left join products d on b.productCode=d.productCode
where a.status=6 and a.invoiceStatus=4
order by 1 asc
其结果是:
prod qtyO qtyIS
104 19 110
104 4 110
104 20 110
105 10 20
105 15 20
105 24 20
更好的是,如果我可以在 MySql DB 中创建一个函数,那么当 a.status 从 5 更改为 6 时,此更新函数将循环 orderdetails 表并减去 quantityinstock 上的数量。
或者也许是一个执行此操作的 php 函数?