【发布时间】:2019-07-29 13:00:38
【问题描述】:
我有两个 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 条库存更新记录。
【问题讨论】:
-
这是MySQL update statement match only the first row 的副本。底线似乎是 MySql 只会更新同一行一次,您将不得不使用聚合函数。
标签: mysql