例子。我有产品表,有数量等。
item name: Shoes.
Quantity: 20
POS表。如果用户购买了数量为20的袋子。
Itenm name: Shoes
Quantity: 5
问题是。如何减去数量:POS表中的数量为5,产品表中的数量为20。感谢。
答案 0 :(得分:0)
您可以在项目名称上加入两个表格并进行减法。
select p.item_name,
p.quantity - po.quantity
from product p
join POS po on p.item_name = po.item_name;
如果您需要使用差异更新产品表,则:
update product p
join POS po on p.item_name = po.item_name
set p.quantity = p.quantity - po.quantity;
如果有多个行具有相同的项目名称,您可能希望先聚合它们然后加入更新:
update product p
join (
select item_name,
sum(quantity) as quantity
from POS
group by item_name
) po on p.item_name = po.item_name
set p.quantity = p.quantity - po.quantity;