更新查询从库存表中减去相同的销售模型行?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更新查询从库存表中减去相同的销售模型行?相关的知识,希望对你有一定的参考价值。
我有两个mysql表:
> Sale
--------------------------------------------------------
ID customer model qty
--------------------------------------------------------
1 Ali H46 1
1 aslam H46 1
1 kasif H46 1
1 umer H46 1
1 naveed H46 1
---------------------------------------------------------
> Stock
---------------------------------------------------------
ID model qty
---------------------------------------------------------
1 H46 40
1 H47 30
1 H48 20
1 H49 60
1 H50 20
---------------------------------------------------------
我应用的MySQL查询
UPDATE sale AS T1
INNER JOIN stock T2
ON T1.model = T2.model
SET T2.qty = (T2.qty - T1.qty)
在库存表中的结果中,只有一个数量更新不等于总销售数量减去库存表中的数量。
我希望所有销售数量减去库存。但是我的查询结果返回了库存中的1条记录更新。
答案
我认为您需要加入Sale
表的汇总:
UPDATE stock st
INNER JOIN
(
SELECT model, SUM(qty) AS qty
FROM sale
GROUP BY model
) s
ON st.model = s.model
SET
st.qty = st.qty - s.qty;
内部联接更新(而不是左联接更新)在这里应该没问题,因为销售量为零的模型始终不需要更新库存。
以上是关于更新查询从库存表中减去相同的销售模型行?的主要内容,如果未能解决你的问题,请参考以下文章