mySQL在两个不同表中的两个值之和

时间:2016-04-24 19:57:01

标签: mysql database left-join

我有两个相同的表,每个表中的列相同 - “数量”和“参考”。这些列中的值如下所示:

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和其他方法,但我很快就没有了,所以如果有人可以腾出时间引导我走上正确的轨道,我将非常感激。感谢。

2 个答案:

答案 0 :(得分:1)

您需要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

这样,即使只包含两个表中的一个,也可以保证获得reference值的记录。

答案 1 :(得分:0)

您可以使用union all运算符将两列视为一个:

SELECT   reference, SUM(quantity)
FROM     (SELECT reference, quantity FROM table_1
          UNION ALL
          SELECT reference, quantity FROM table_2) t
GROUP BY reference