我正在尝试使用SubQuery更新表的一列。 我有两张桌子。 在第一个中,我保留了名为“产品”的产品数量。 我用第二张桌子作为篮子命名为'篮子'。 首先,用户将产品添加到购物篮。付款后,我想更新库存('产品'表'库存'列)。 如果我们将股票命名为“股票”并且用户购买产品编号b_stock,则formul将作为股票 - = b_stock。股票将从products.stock和b_stock读取basket.products。 当然我需要客户参数为@cus。 谢谢你的回复。
答案 0 :(得分:0)
我认为你所寻求的是EXIST条款。
我无法测试它,我不确定我是否正确使用了桌子上的钥匙。下面是可能帮助您的一些代码。
update
products p
set
p.stock =
(
select
p.stock - b.b_stock
from
basket as b
JOIN customers c ON (b.customer = c.id)
where
c.customer = @cus
and b.product = p.id
)
where EXIST
(
select
1
from
basket b1
JOIN customers c1 ON (b1.customer = c1.id)
where
c1.customer = @cus
AND p.id = b1.product
)