Ich möchte die Differenz der Summe der Debit- und Kredittransaktionen des Benutzers herausfinden und sie auflisten. HierFinde den Unterschied der Summe der Spalte für verschiedene Benutzer
ist die Abfrage, die ich ausprobiert haben:
SELECT *, (val1 - val2)
FROM (SELECT *, sum(transactionAmount) AS val1
FROM tableTransaction
WHERE creditedToNum = My_Number
GROUP BY debtToNum) db
JOIN (SELECT *, sum(transactionAmount) AS val2
FROM tableTransaction
WHERE debtToNum = My_Number
GROUP BY creditedToNum) Cr
WHERE db.transactionStatus = 1
AND db.isActive = 1;
Es Rückkehr 0 Zeilen, aber die tatsächliche Ausgabe sollte wie unten
Hier ist meine Tabellenstruktur:
| Amount | Credit_to | Debit_to |
|--------|-----------|-----------|
| 2000 | My_Number | Number_1 |
| 5000 | My_Number | Number_2 |
| 3000 | Number_1 | My_Number |
| 4000 | Number_2 | My_number |
| 2000 | My_Number | Number_2 |
Was tatsächlichen Ergebnis Ich möchte ist:
| Name | Amount |
|----------|--------|
| Number_1 | 1000 |
| Number_2 | 3000 |
Diese Abfrage ist nicht lesbar. Es spielt keine Rolle, wie Ihr Java-Code es erstellt. Zeige das aktuelle SQL. Und was ist das Problem mit der aktuellen Abfrage? –
@ CL. Ich habe meine Anfrage aktualisiert. –