mySQL 两个不同表中两个值的总和

标签 mysql database left-join

我有 2 个相同的表,每个表中都有相同的列 - “数量”和“引用”。这些列中的值如下所示:

table_1
reference    quantity
TS00001      235
TS00002      400
TS00003      850
...

table_2
reference    quantity
TS00001      670
TS00002      210
TS00003      150
...

我需要连接表并输出每个匹配的引用 ID 的数量字段的总和,例如:

reference    total_quantity
TS00001      905
TS00002      610
TS00003      1000
...

我一直在尝试 LEFT JOIN 和其他方法,但我很快就一事无成,所以如果有人能抽出时间引导我走上正确的轨道,我将非常感激。谢谢。

最佳答案

您需要将两个表UNION:

SELECT reference, SUM(quantity) AS total_quantity
FROM (
  SELECT reference, quantity
  FROM table_1

  UNION ALL

  SELECT reference, quantity
  FROM table_2) AS t
GROUP BY reference

这样您就可以保证获得引用值的记录,即使该值仅包含在两个表中的一个中。

关于mySQL 两个不同表中两个值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36828210/

相关文章:

MySQL:使用 ID 字符串插入行的 SQL

php - #1241 - 操作数应包含 1 列

ruby-on-rails - 将 Rails 应用程序连接到现有数据库

mysql - 1 :1 relationship 有什么优点

MySQL Where on Multiple Left Join Rows

mysql - 选择一列,按另一列分组 - ONLY_FULL_GROUP_BY

php - 使用 tiny mce 作为富文本编辑器。尝试将代码示例添加为博客文章时出错。网站使用php-mysql

database - 为什么要使用 ORM?

sql - Left Join、Order by、MySQL优化

MySQL 在多个外部连接的子句中放置条件