将数量和数量相乘在同一数据库的不同表中

摇篮

这些是我的桌子

ORDER_ITEMS

+----------+--------+-----------------+------------+
| order_id |item_id |    item_name    |  quantity  |
+----------+--------+-----------------+------------+
|     1    |   1    |      coffee     |     2      |
|     2    |   2    |      shake      |     2      |
|     2    |   3    |    icecream     |     3      |
+----------+--------+-----------------+------------+

PRODUCT_INGREDIENT:

+--------+-----------------+--------+
|item_id | ingredient_id   | amount |
+--------+-----------------+--------+
|   1    |      123        |  10    |
|   1    |      124        |  15    |
|   2    |      125        |  10    |
|   2    |      124        |  15    |
|   2    |      123        |  10    |
|   2    |      126        |  15    |
|   3    |      124        |  15    |
|   3    |      123        |  10    |
|   3    |      126        |  15    |
+--------+-----------------+--------+

库存:

+--------+-----------------+--------+
|  id    | ingredient_id   | amount |
+--------+-----------------+--------+
|   1    |      123        |   80   |
|   2    |      124        |   70   |
|   3    |      125        |  100   |
|   4    |      126        |  100   |
+--------+-----------------+--------+

我有的SQL正在工作,但我需要将PRODUCT_INGREDIENT表中的(金额)列乘以ORDER_ITEMS表中的列(数量)

这是sql语句

UPDATE inventory i 
INNER  JOIN (
  SELECT p.ingredient_id, sum(p.amount) amount
    FROM product_ingredient p 
   INNER JOIN  order_items o on o.item_id = p.item_id
   WHERE o.order_id = 1
   GROUP BY p.ingredient_id
) p ON  i.ingredient_id = p.ingredient_id 
SET i.amount = i.amount - p.amount 

我希望查询查询后的库存如下所示:

+--------+-----------------+--------+
|  id    | ingredient_id   | amount |
+--------+-----------------+--------+
|   1    |      123        |  100   |
|   2    |      124        |  100   |
|   3    |      125        |  100   |
|   4    |      126        |  100   |
+--------+-----------------+--------+
scaisEdge

查找数据样本似乎需要添加子查询的结果

UPDATE inventory i 
INNER  JOIN (
  select p.ingredient_id, sum(p.amount*o.quantity) amount
  from product_ingredient p 
  INNER JOIN  order_items o on o.item_id = p.item_id
  WHERE o.order_id = 1
  GROUP BY p.ingredient_id
) p ON  i.ingredient_id = p.ingredient_id 
SET i.amount = i.amount + p.amount 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

同一数据库中的表复制

来自分类Dev

Laravel 数据库返回的日期时间与同一数据库中的记录不同

来自分类Dev

在PHP/MYSQL中从同一数据库的两个不同表中选择数据

来自分类Dev

如何使用Spring Boot Crudrepository将数据插入同一数据库的2个表中?

来自分类Dev

计算表中唯一数据的数量

来自分类Dev

在SQL数据库表的同一行上存储动态数据值数量

来自分类Dev

如何使用同一数据库表的查询结果更新MYSQL表中的字段?

来自分类Dev

从同一数据库中的不同mongodb封顶集合同时读取和写入

来自分类Dev

SSIS中的登台表位置-是否需要在同一数据库中?

来自分类Dev

如何将数据从一个表复制到同一数据库中的另一个表?

来自分类Dev

将数据从一个表移动到同一数据库中的另一个表

来自分类Dev

使用 pgadmin 将数据行从一个表复制到同一数据库中的另一个表

来自分类Dev

如何显示同一数据库中2个表的所有记录?

来自分类Dev

如何在数据库中存储不同种类和数量的html表单数据?

来自分类Dev

如何在同一数据库中联接来自2个不同模式的2个表

来自分类Dev

如何获取数据并插入同一数据库的另一个表中?

来自分类Dev

MySQL创建触发器将内容从同一数据库插入另一个表

来自分类Dev

通过在同一数据库中输入指定表的特定行来创建新的sql表

来自分类Dev

如何根据同一数据库中另一个表的条件更新sql数据库表

来自分类Dev

同一数据库-来自不同客户端的不同输出

来自分类Dev

在一个视图中使用同一数据库中的两个表

来自分类Dev

合并来自同一SQL数据库中不同表的数据以及表名

来自分类Dev

如何在同一产品中处理不同的净采购价格和数量

来自分类Dev

SQL Server 2008比较同一数据库中的两个表,并更改get列

来自分类Dev

我想将我的ActionColumn按钮视图的目标更改为同一数据库中的其他表

来自分类Dev

同一数据库表的多个数据模式

来自分类Dev

在同一列表中按字母顺序和数量排序

来自分类Dev

在同一数据库上执行时,dblink会使用不同的会话吗?

来自分类Dev

在同一数据库上执行时,dblink使用不同的会话吗?

Related 相关文章

  1. 1

    同一数据库中的表复制

  2. 2

    Laravel 数据库返回的日期时间与同一数据库中的记录不同

  3. 3

    在PHP/MYSQL中从同一数据库的两个不同表中选择数据

  4. 4

    如何使用Spring Boot Crudrepository将数据插入同一数据库的2个表中?

  5. 5

    计算表中唯一数据的数量

  6. 6

    在SQL数据库表的同一行上存储动态数据值数量

  7. 7

    如何使用同一数据库表的查询结果更新MYSQL表中的字段?

  8. 8

    从同一数据库中的不同mongodb封顶集合同时读取和写入

  9. 9

    SSIS中的登台表位置-是否需要在同一数据库中?

  10. 10

    如何将数据从一个表复制到同一数据库中的另一个表?

  11. 11

    将数据从一个表移动到同一数据库中的另一个表

  12. 12

    使用 pgadmin 将数据行从一个表复制到同一数据库中的另一个表

  13. 13

    如何显示同一数据库中2个表的所有记录?

  14. 14

    如何在数据库中存储不同种类和数量的html表单数据?

  15. 15

    如何在同一数据库中联接来自2个不同模式的2个表

  16. 16

    如何获取数据并插入同一数据库的另一个表中?

  17. 17

    MySQL创建触发器将内容从同一数据库插入另一个表

  18. 18

    通过在同一数据库中输入指定表的特定行来创建新的sql表

  19. 19

    如何根据同一数据库中另一个表的条件更新sql数据库表

  20. 20

    同一数据库-来自不同客户端的不同输出

  21. 21

    在一个视图中使用同一数据库中的两个表

  22. 22

    合并来自同一SQL数据库中不同表的数据以及表名

  23. 23

    如何在同一产品中处理不同的净采购价格和数量

  24. 24

    SQL Server 2008比较同一数据库中的两个表,并更改get列

  25. 25

    我想将我的ActionColumn按钮视图的目标更改为同一数据库中的其他表

  26. 26

    同一数据库表的多个数据模式

  27. 27

    在同一列表中按字母顺序和数量排序

  28. 28

    在同一数据库上执行时,dblink会使用不同的会话吗?

  29. 29

    在同一数据库上执行时,dblink使用不同的会话吗?

热门标签

归档