当前位置: 首页 > 知识库问答 >
问题:

如何更新表行使用计算结果从另一个表在mysql[重复]

景辰钊
2023-03-14

我试图通过总结桥接表TransactionRecords的结果来更新事务表中的子总计字段。以下是我的表格所包含的内容。

|  Transaction  |
| ID | SubTotal |
| 1  |  ???     |
| 2  |  ???     |
| 3  |  ???     |


|     TransactionRecords                      |
| TransactionID | ProductID | QTY | SalePrice |
| 1             |  10       |  4  | 19.99     |
| 2             |  5        |  8  | 9.99      |
| 2             |  3        |  12 | 14.99     |

我想要的是交易。小计等于TransactionRecords。销售价格*交易记录。交易记录所在的数量。TransactionID等于事务。身份证件

此查询:

select TransactionID, sum(UnitPrice * QuantitySold) 
from TransactionRecord 
group by TransactionID;

给我每笔交易和每笔交易中的销售金额,这是我希望交易表在其相应ID中包含的值。

共有1个答案

丘学海
2023-03-14

试试这个:

UPDATE Transaction t 
SET SubTotal = (SELECT SUM(UnitPrice * QuantitySold) FROM TransactionRecord tr WHERE tr.TransactionId = t.ID);
 类似资料:
  • 问题内容: 我正在尝试根据另一个MySQL信息更新一个MySQL表。 我的桌子看起来像: 而表如下所示: 我想更新在与来自基于(存储在字符串字段)。 希望更新后的表如下所示: 我有一个有效的查询,但是非常慢: 这使我的CPU耗尽,最终导致超时,并且仅执行了一部分更新(有数千个要匹配的值)。我知道匹配的速度会很慢,但这是我必须将它们匹配在一起的唯一数据。 有没有更好的方法来更新这样的值?如果可以更快

  • 问题内容: 这一点效果很好: 它将列中的所有字段组加在一起。 我遇到的麻烦是得到此结果来更新另一个表中的另一列。 这就是我所拥有的: 任何建议,不胜感激。 问题答案: 您不能在内部使用update语句。您需要使用子选择进行分组。 像这样的东西:

  • 问题内容: 有2个表/实体,非常简单的场景。 表 诗人 -列:id,诗人,国家 表格 国家 -栏:编号,国家,计数 基本上, 国家 对 诗人 的映射自然是一对多的。例如,有来自60个国家的1000名诗人。在每个诗人 的诗人 被包含在国家之一的id民族领域分配给一个民族 国家 。 国家 的计数字段包含来自该国家的诗人中的 诗人 人数。 我的问题是如何仅使用一个SQL查询来按国家对 诗人 的人数进行计

  • 我已经创建了一个多边形表(多边形),其中包含名称和点(使用多边形值) 我有另一个表(latlon ),它有lat和lot列,包含超过一百万条记录 我必须在“多边形”表中的点的帮助下更新纬度表中的列(区域名称) 以下 select 语句为一条记录提供正确的输出。 有人能帮我在POSTGIS中编写一个UPDATE查询来获取更多的lat,lon值吗?

  • 我在另一个表(如ac)中有大约88k条记录。我想将表ac的一列更新到主表(如tbl)中。Eg-Table tbl示例记录,如 col1 col2 col3 col4 表ac中的样本记录如下 col1 col3` 如何从ac表更新tbl值。使记录看起来像 col1 col2 col3 col4

  • 问题内容: 我试图用Final中的值更新表Original。我是SQL的新手,但是我已经花了两个小时尝试更改各种样本以满足我的需求。我正在使用Access 2007。 问题答案: 我不确定您的陈述仅返回一行。如果要使用分配语句对表执行更新,则 必须 确保它仅返回一行。 除此之外,您可以考虑下一个解决方案: 请注意,只有当两者都是表和表中的唯一键并且它们之间具有适当的关联时,这才可以正常工作。