2016-04-24 98 views
1

我有兩個相同的表,每個表中有相同的列 - 「數量」和「參考」。這些列中的值列如下:mySQL 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和其他方法,但我很快就沒有辦法,所以如果有人可以騰出時間來引導我走上正確的軌道,我會非常感激。謝謝。

回答

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值的記錄。

+0

感謝這麼多,真的幫助了我。我完全接近了這個錯誤的方式。再次感謝 :)。 – d1ch0t0my

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 
相關問題