使用另一个表mysql中的多条记录的总和更新多条记录

owfi6suc  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(274)

我有下表:
产品

+-------------+------------+
| id_product  | quantity   |
+-------------+------------+
|    15       |       0    |
|    16       |       1    |
|    17       |       3    |
|    18       |       1    |
+-------------+------------+

另一个表是子查询

+------------+-----------+
| id_product |   total   |
+------------+-----------+
|     15     |     1     |
|     17     |     1     |
|     18     |     4     |
+------------+-----------+

我想做的是在单个更新查询中,用子查询返回的记录更新表积,求和,我可以从子查询中得到一条或多条记录。

+-------------+------------+
| id_product  | quantity   |
+-------------+------------+
|    15       |       1    |
|    16       |       1    |
|    17       |       4    |
|    18       |       5    |
+-------------+------------+

我试图进行此更新查询,但它不符合我的要求。

UPDATE product p
INNER JOIN (
  SELECT id_product, count(*) as total
  FROM othertable
  GROUP BY id_product
) c ON p.id_product = c.id_product
SET p.quantity = c.total;

编辑

UPDATE product p
INNER JOIN (
  SELECT id_product, count(*) as total
  FROM othertable
  GROUP BY id_product
) c ON p.id_product = c.id_product
SET p.quantity = p.quantity + c.total

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题