【问题标题】:Updating stocks quantity in Product Table from Cart从购物车更新产品表中的库存数量
【发布时间】:2022-01-09 14:01:19
【问题描述】:

大家好,基本上我有这两张桌子

ProductLists

Cart

注意:购物车表中包含临时数据,如果购物车表中的订单已经付款,则表本身将被截断。

我尝试运行此查询

UPDATE productlists
SET stocks = stocks - (SELECT SUM(QTY) FROM cart WHERE ID = productlists.product_id)

这发生在output

关于如何在不使其他产品的库存变为空的情况下执行此操作的任何建议? 非常感谢

【问题讨论】:

    标签: java php sql


    【解决方案1】:

    在 MSSQL 上试试这个:

    UPDATE productlists
    SET stocks = stocks - Q.QTY
    FROM (
        SELECT 
            ID,
            SUM(QTY) as QTY
        FROM 
            cart 
        GROUP BY
            ID
        ) Q
    WHERE productlists.product_id = Q.ID
    

    对于 phpMyAdmin:

    update productlists set stocks = stocks - (select sum(QTY) from cart where ID = productlists.product_id) where product_id in (select ID FROM cart);
    

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    • 您好,感谢您的回答,但它不起作用,它说存在语法错误。我尝试在 SQL Server 中使用该查询,它工作正常,但我在这个项目中使用的是 phpmyadmin。 imgur.com/85zyfe8
    • @Jiyo 我已经更新了我的答案,您只需更新购物车中的商品,因此您需要为此添加条件
    • 股票现在不会显示为空,这完全符合我的要求!谢谢!
    猜你喜欢
    • 2013-09-24
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    相关资源
    最近更新 更多