2017-07-22 2 views
0

Ich möchte eine Tabelle abfragen, wo ich Werte aus der gleichen Spalte/Spalten summieren möchte, wenn ihre IDs übereinstimmen.MySQL SUM Werte aus der gleichen Spalte, wenn ihre ID übereinstimmt

Die Tabelle sieht wie folgt aus:

id | product_id | attribute_id | production_price | warehouse_id | qty | sell_qty 
---------------------------------------------------------------- 
1 | 1   | 111   | 100.0000   | 1   | 50 | 45 
2 | 1   | 111   | 100.0000   | 2   | 40 | 40 
3 | 2   | 222   | 100.0000   | 1   | 30 | 20 
4 | 2   | 222   | 100.0000   | 2   | 20 | 20 

Was ich versuche die Werte von qty und sell_qty zu tun ist, Summe, wenn die gleichen Produkte in beiden warehuse sind (warehouse_id 1/2) und wo product_id und Attribut-ID stimmt überein. So etwas wie dies als Ergebnis:

product_id | attribute_id | production_price | qty | sell_qty 
---------------------------------------------------------------- 
1   | 111   | 100.0000   | 90 | 85 
2   | 222   | 100.0000   | 50 | 40 

Wie kann ich eine Abfrage wie dies tut, um seine, wenn möglich?

+0

Summe ist add, nicht multiplizieren – Bohemian

Antwort

0

Es sieht aus wie Sie eine einfaches group by wollen:

select product_id, attribute_id, production_price, sum(qty) qty, sum(sell_qty) sell_qty 
from mytable 
group by 1,2,3 
+0

Wenn ich nicht falsch liege, nimmt Ihre Antwort nicht das Lager in Betracht. Auf diese Weise wird die gesamte Tabelle als Ergebnis zurückgegeben und nicht nur die, die in warehuse_id = 1 und auch in warehouse_id = 2 enthalten sind –

0

Try this:

SELECT sum(qty),sum(sell_qty) from table where warehouse_id = 1 group by product_id; 

so wird es die Menge Summe und Sell-Menge, wenn es ein Verkauf von gleichem Produkt unter gleichen ist Lager

Wenn Sie weitere Felder hinzufügen möchten, fügen Sie die gleichen in der Gruppe von auch

Verwandte Themen