0
我有以下DB结构更新减去数量 - SQL
Table product
(持有我的产品信息,包括股票)
- PROD_ID
- PROD_NAME
- prod_desc
- prod_price
- 股票
表store_orders_item
- ID
- ORDER_ID
- sel_prod_id
- sel_prod_price
- sel_prod_qty
我(这是每一个客户从我的网站上购买时更新)需要我每次在网上进行销售和store_orders_items
是更新,减少对表product
我想我需要使用下面的代码所售产品的股票领域,再加上某种连接或子查询根据prod_id
来更新我的产品表,但我无法弄清楚如何。
UPDATE product SET stock = stock - (SELECT SUM(sel_prod_qty) FROM store_orders_items);
我也试过:
UPDATE product
SET stock = stock - (SELECT s.sel_prod_qty, s.sel_prod_id, p.prod_id
FROM store_orders_items as s left join product as p ON
s.sel_prod_id=p.prod_id WHERE order_id=(SELECT MAX(order_id) from orders_number));
而得到这个错误: “你不能指定目标表‘产品’的更新在FROM子句”
我尝试添加这一行但不起作用。 WHERE prod_id =(SELECT sel_prod_id FROM store_orders_items); – mosinskis
这是错误的方法。从库存水平中扣除特定订单数量 - 就是这样。因此,当您创建新订单时,创建新的store_orders_items,并在另一个语句中,从股票中减去相同的金额 - 仅使用输入金额而不使用store_orders_items表。 –