mySQL sum of two values in 2 different tables

蓝咒 提交于 2020-06-27 16:43:18

问题


I have 2 identical tables with identical columns in each one - "quantity" and "reference". The values in these columns are set out as follows:

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

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

I need to join the tables and output the sum of the quantity field for each matched reference ID e.g:

reference    total_quantity
TS00001      905
TS00002      610
TS00003      1000
...

I've been trying LEFT JOIN and other methods but I'm getting nowhere quickly so if anyone could spare the time to steer me on to the right track I'd be very grateful. Thanks.


回答1:


You need to UNION the two tables:

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

This way you are guaranteed to get a record for a reference value even if this is contained in only one of the two tables.




回答2:


You can use the union all operator to treat both columns as one:

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


来源:https://stackoverflow.com/questions/36828210/mysql-sum-of-two-values-in-2-different-tables

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!