首页 > 解决方案 > 如何使用 sql 而不是使用代码来执行此 sql 更新?

问题描述

我已经能够选择这个数据,使用这两个 sql 查询

在此处输入图像描述

查询一:

SELECT article_id, amount_required, amount_sold FROM products_articles,sales WHERE sales.product_id = products_articles.product_id

查询 2:

SELECT * FROM articles

我想要做的是通过第一个表(销售量和所需量)(有重复的行很好),并且对于表中的每一行,将 amount_sold 和 amount_required 的值相乘,然后从 amount_in_stock 中减去该值id 在第二个表中匹配的位置。

第一行的示例:2 * 4 = 8,将 amount_in_stock 从 124 更改为 116。依此类推...

我怎样才能只使用 sql 来做到这一点?

标签: sqlphpmyadmin

解决方案


UPDATE A
SET 
    A.amount_in_stock =(S.amountSold * S.amount_required)- A.amount_in_stock 
FROM articles AS A
INNER JOIN
products_articles AS PA
ON PA.article_id= A.article_id
INNER JOIN  Sales AS S 
ON S.product_id=PA.product_id

推荐阅读