2016-04-11 18 views
0

Ich habe eine Tabelle namens stock mit Spalten Tran_id, Trancode, item_id Barcode prodqty made in sql wie unten. Jedes Mal, wenn ein Artikel verkauft wird, wird eine Zeile mit einer Trancode des Umsatzes hinzugefügt und jedes Mal, wenn ein Artikel produziert wird, wird eine Zeile mit einer Trancode der Produktion hinzugefügt.Ich muss den Restbestand für einen bestimmten Artikel-Barcode aus diesem Tischbestand beziehen . bitte helfen und gestrandetenWie bekomme ich den Unterschied zwischen den Spalten in Sql

tran_id trancode item_id barcode item_desc Packid Packing prodqty userr Prodate 
1  Production  114 12349090898 cofeekarak CTN  10xCTN 6 emma 2016-04-05 
8  sales   114 12349090898 cofeekarak CTN  10xCTN 2 emma 2016-04-11 
+1

Sie werden nicht sehr weit über das bekommen mit vagen Fragen wie diesem funktioniert es am besten, wenn man nach einem bestimmten Fehler fragt. Was hast du bisher versucht, das gescheitert ist? Ist es Ihnen gelungen, die Summe der Produktionsmengen zu erhalten? und die Verkaufsmengen? Oder gibt es das Ergebnis ihrer Subtraktion, das ist das Problem? – Aaron

Antwort

0

Summe der Mengen, positiv, wenn die Produktion, negativ, wenn Umsatz:

select sum(case when trancode = 'sales' then -prodqty else prodqty end) 
from stock 
where barcode = ? 
0

try this

select (qty1.Produced - qty2.Sold) as difference from 
(select sum(prodqty) as Produced from yourtable where barcode='xxxx') qty1, 
(select sum(prodqty) as Sold from yourtable where bardcode='xxxx')qty2 
0
SELECT item_id, SUM(CASE 
    WHEN trancode = "Production" THEN prodqty 
    WHEN trancode = "sales" THEN -prodqty 
    END) AS remaining_stock 
FROM stock 
GROUP BY item_id 
Verwandte Themen