2017-12-17 5 views
0

Ich versuche, die Summe aller Prüfungen, aber mit verschiedenen Typen und Namen und ich habe Schwierigkeiten bei der Beschaffung der Summe für alle von ihnen. Ich habe eine Transaktionsmenge und eine abgezinste Menge. Ich möchte die Summe der beiden Transaktionen erhalten, damit ich meine geschätzte Summe erhalten kann. Beachten Sie, dass ich verschiedene Arten von Transaktionen, die auch verschiedene Arten von Rabatt und Transaktionsbetrag (z. B. 20% Rabatt, 5% Rabatt) haben.Holen Sie sich die Summe der spezifischen ID mysql mit verschiedenen Typen und Namen

So weit, was ich durch meine Abfrage in Gang gekommen sind nur die ersten beiden Datensätze, die prüfen 201 hat, dass die Menge an hat. Allerdings möchte ich auch die andere Transaktion, die die Check 301 hat. Somit erhält man die geschätzte Gesamtmenge von .

Kann mir jemand dabei helfen?

Hier sind meine Beispieldaten. enter image description here

Hier ist meine Frage:

select a.DATE, a.ID, SUM(a.amount) as TRANSACTION, 
(select sum(cashier.amount) from cashier where `cashier `.`check` = 
a.`check` and cashier.date = a.date and cashier.ID= a.ID GROUP BY 
`cashier.check) as `ESTIMATED VALUE` FROM cashier a where a.date = 
'8/1/2017' and a.name = 'Price discounted 10%' GROUP BY a.DATE, a.ID ORDER BY a.date 
+0

* Ich möchte jedoch auch die andere Transaktion erhalten, die den Scheck 301 *, warum Sie es erklären können, oder ein Grund/Kriterien zur Verfügung stellen zu tun, dass –

+0

@MKhalidJunaid ich weiß nicht, welche Erklärung Sie sprechen. .. aber ich möchte nur meine geschätzte Summe für alle ermäßigten Preis bekommen – Rukikun

Antwort

0

ein case expression Verwenden Menge als entweder positiv oder negativ (für die Rabatte) zu behandeln, dann nur, dass summieren.

SELECT 
     a.`date` 
    , a.ID 
    , SUM(a.amount) AS `transaction` 
    , SUM(case when type <> 1 then a.amount*-1.0 else a.amount end) AS `estmated_value` 
FROM cashier a 
WHERE a.date = '2017-01-08' 
AND a.name = 'Price discounted 10%' 
GROUP BY 
     a.`date` 
    , a.ID 
ORDER BY 
     a.`date` 
Verwandte Themen