2017-03-09 2 views
1

Ich habe 2 TabellenmySQL - SUM der Spalte

Tabelle 1

id product 
1 P1 
2 P2 

Tabelle 2

id amount product_t1 
1 100 P1 
2 200 P1 
3 300 P2 
4 400 P1 
5 500 P2 

ich meine Ausgabe sein wollen:

product totalAmount(sum of amount) 
P1  700 
P2  800 

EDIT: Hier ist meine bisherige Abfrage

Danke!

+1

Was haben bisher erreicht? –

+0

Entschuldigung, es ist jetzt da. Ich bekomme P1 15000 – Maki

Antwort

1

Sie Gruppe von

SELECT T1.product, SUM(T2.amount) 
FROM table1 T1 
INNER JOIN table2 T2 
ON T1.product = T2.product_t1 
GROUP BY product 
1

zu spielen, da Sie nicht verwenden Fremdschlüssel brauche nicht einmal die Tabelle 1 für das gewünschte Ergebnis.

SELECT 
    product_t1 AS product, 
    SUM(amount) AS totalAmount 
FROM table2 
GROUP BY product_t1 

Was Sie fehlt, ist die GROUP BY Anweisung, um eine separate Zeile für jedes einzelne Produkt

+0

Ich verwende den Fremdschlüssel T1.product = T2.product_t1. T1.product is unique – Maki

+0

SELECT T1.Product, SUM (T2.mount) FROM tabelle1 T1 INNER JOIN tabelle2 T2 ON T1.product = T2.product_t1 Gruop von T1.product – Michael

1
SELECT T1.product, SUM(T2.amount) 
FROM table1 T1 
INNER JOIN table2 T2 
ON T1.product = T2.product_t1 
GROUP BY product T1.product 

Verwenden Sie die GROUP BY Tag verwenden sollten zu bekommen . Gruppieren mit hilft, um Ihr Ergebnis über den Wert des Produkts zu gruppieren