2016-11-09 9 views
1

Ich habe zwei Tabellen und ich brauche die Summe von a.TOTAL * b.QUANTITY.Multiplizieren Sie zwei Spalten und summieren Sie sie auf der inneren Verbindung

a (A_ID, TOTAL)

b (B_ID, QUANTITY)

Bisher schrieb ich:

SELECT a.A_ID, a.TOTAL * b.QUANTITY as calculation 
FROM a INNER JOIN b ON 
a.A_ID = b.B_ID 

Ich versuchte ...SUM(a.TOTAL * b.QUANTITY) wie Berechnung, aber es funktioniert nicht. Ich wäre dankbar für jede Hilfe!

+1

Bitte zeigen Sie Beispieldaten und gewünschte Ergebnisse, um zu erklären, warum Ihre Berechnung nicht funktioniert. –

+1

Und Sie sollten uns auch sagen, welche Version von SQL Sie verwenden. Ich denke, die Verwendung von "SUM" ohne "GROUP BY" ist für bestimmte Datenbanken nicht erlaubt (MySQL ist eine Ausnahme). –

Antwort

4

Try this:

SELECT A_ID, SUM(calculation) as mySum 
FROM (
    SELECT a.A_ID, a.TOTAL * b.QUANTITY as calculation 
    FROM a INNER JOIN b ON 
    a.A_ID = b.B_ID 
) q 
GROUP BY A_ID 
2

Haben Sie die Absicht, eine Gruppierung auf A die ID zu tun. Wenn ja, könnte dies Ihr gewünschtes Ergebnis ergeben:

SELECT a.A_ID, 
     SUM(a.TOTAL * b.QUANTITY) AS calculation 
FROM a 
INNER JOIN b 
    ON a.A_ID = b.B_ID 
GROUP BY a.A_ID 
Verwandte Themen