sql - 如何使用 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 来做到这一点?
解决方案
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
推荐阅读
- python - 如何在 django 中按类别过滤
- android-studio - Android Studio 突出显示代码红色且没有错误(Gradle 4.0.0 错误)
- excel - 尝试从 Excel 中的 Google 表格复制“IMAGE()”函数
- php - 试图获取非对象的属性 [LARAVEL]
- java - 如何按降序对 TreeMap 值进行排序以及如何限制输出?
- sql - Oracle SQL XML 提取
- google-cloud-storage - 如何在批量存储 json api 中使用 rewriteToken?
- react-spring - react-use-gesture + spring - 从手势识别中排除嵌套元素
- python - 用于小型计算的 Python 可扩展并行处理
- javascript - TypeScript 编译器是否存在关于泛型的错误,或者我遗漏了什么?