当前位置: 首页 > 面试题库 >

在多个表中使用sum()结果进行MYSQL更新

岳涵煦
2023-03-14
问题内容

这一点效果很好:

 SELECT products_id, sum(attributes_stock) 
 FROM products_attributes 
 GROUP BY products_id

它将attributes_stock列中的所有字段组加在一起。

我遇到的麻烦是得到此结果来更新另一个表中的另一列。

这就是我所拥有的:

 UPDATE products, products_attributes 
 SET products.products_quantity = sum(products_attributes.attributes_stock) GROUP BY products_attributes.products_id 
 WHERE products.products_id = products_attributes.products_id

任何建议,不胜感激。


问题答案:

您不能在group by内部使用update语句。您需要使用子选择进行分组。

像这样的东西:

UPDATE products p,( SELECT products_id, sum(attributes_stock)  as mysum
                   FROM products_attributes GROUP BY products_id) as s

   SET p.products_quantity = s.mysum
  WHERE p.products_id = s.products_id


 类似资料:
  • 问题内容: 我的桌子: 我需要使用,按ID分组来更新字段: 对于ID 1,应为 对于ID 2,应为 预期输出: 我该如何看重? 我的代码: 这是行不通的。 问题答案: 不幸的是,您无法在中更新与其自身联接的表。 您需要创建一个函数作为解决方法:

  • 我有两个表格:,带有数量和单价(id | name | order | id | qt | unit | price)和表格。 我想表格并放入,以获得订单的总价。 items表上的查询非常简单,可以很好地为同一订单id内的所有项目求和: 但是我不能在我的表中插入这个值。我不能让这个工作: 它返回 我在这里发现了一个非常类似的问题,但答案对我来说并不适用:

  • 我试图通过总结桥接表TransactionRecords的结果来更新事务表中的子总计字段。以下是我的表格所包含的内容。 我想要的是交易。小计等于TransactionRecords。销售价格*交易记录。交易记录所在的数量。TransactionID等于事务。身份证件 此查询: 给我每笔交易和每笔交易中的销售金额,这是我希望交易表在其相应ID中包含的值。

  • 本文向大家介绍使用MySQL WHERE子句中的多个值进行更新,包括了使用MySQL WHERE子句中的多个值进行更新的使用技巧和注意事项,需要的朋友参考一下 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 这是使用WHERE子句中的多个值更新的查询- 让我们再次检查表记录- 这将产生以下输出-

  • 我正在努力得到正确的语法下面。我尝试过不同的工会,但都没有成功。 我需要将这三个总数相加为“totcount”。数据表非常大,希望找到一种比第4个子查询更好的方法来获取totcount。

  • 我有三张桌子: 表名:流派 表字段:id、名称 例1,行动 我试图有一个查询,得到所有的信息从动漫,也得到我的动漫的流派名称。 我有以下疑问: 这让我得到了动漫信息和所有流派的主要ID,但我没有他们的名字。 我一直在研究,但也许我做得不对。 顺便说一句,“动漫”是一个电视节目,所以它可以有多种流派,一对多的关系。