mit SQL nur positive Summen addieren - wie?

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

heinz_ketchup
****
Beiträge: 111
Registriert: So, 07.10.2007 16:05
Wohnort: München

mit SQL nur positive Summen addieren - wie?

Beitrag von heinz_ketchup »

Hallo,

hier mein Problem:
ich habe monatlich positive und negative Kontenstände. Addiert auf's Jahr ergeben sich ebenfalls positive oder negative Kontensalden.

Ich möchte nun nur die positiven Jahressalden in einer Summe addiert haben. Die negativen Kontosalden sollten unberücksichtigt bleiben.

Hier mein erster Versuch:

Code: Alles auswählen

SELECT 
	SUM(saldenliste_neu.sl_saldo_vz) AS saldo
FROM saldenliste_neu, konten
WHERE saldenliste_neu.sl_ktonr = konten.kto_nr 
	AND konten.ktoa_nr = 480 
	AND saldenliste_neu.sl_jahr = 2007
GROUP BY saldenliste_neu.sl_ktonr
HAVING saldo > 0
So, und jetzt komme ich nicht mehr weiter. Als Ergebnis, bekomme ich aus der Werteliste nur den Wert von meinem letzten Konto 1359 = 579,17. Ich brauche aber die Summe aller positiven Konten, hier also 27.887,58. Ich hoffe mein Screenshot kann das Problem ein wenig verdeutlichen.

Kann mir bitte jemand helfen, meinen Denk-Knoten zu entwirren.

Vielen Dank und schöne Grüße!
Werner
Dateianhänge
Kontensalden.jpg
Kontensalden.jpg (79.14 KiB) 2166 mal betrachtet
------------------------------------------------------------
LibreOffice 3.5.4.2 auf Mac OS X 10.10.1 und MySQL 5.5
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: mit SQL nur positive Summen addieren - wie?

Beitrag von Barlee »

Hallo heinz_ketchup,

nimm einmal sl_saldo_vz mit in die Bedingungen auf, also:

Code: Alles auswählen

...AND sl_saldo_vz > 0
und lasse "HAVING saldo > 0" weg.

Wie sieht's dann aus?

Gruß Barlee
heinz_ketchup
****
Beiträge: 111
Registriert: So, 07.10.2007 16:05
Wohnort: München

Re: mit SQL nur positive Summen addieren - wie?

Beitrag von heinz_ketchup »

Hallo barlee,

danke für Deine Antwort! Ich glaube ich konnte mein Problem noch nicht gut genug beschreiben.

Meine Abfrage funktioniert schon richtig, was die Auswahl der positiven Werte anbelangt. Was mir noch fehlt ist die Addition der Werte. Ich stelle mir einen zweiten Select vor (irgendwie geschachtelt, der meinen ersten Select "umschließt"), der meine Werteliste addiert. Wie das geht, weiß ich leider nicht, dazu sind meine SQL-Kenntnisse noch etwas beschränkt.

Ich hoffe mein Bildchen kann das Problem verdeutlichen.

Schöne Grüße
Werner
Dateianhänge
Abfrage.jpg
Abfrage.jpg (61.79 KiB) 2126 mal betrachtet
------------------------------------------------------------
LibreOffice 3.5.4.2 auf Mac OS X 10.10.1 und MySQL 5.5
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: mit SQL nur positive Summen addieren - wie?

Beitrag von Barlee »

Hallo heinz_ketchup,

wie Du schon richtig schreibst, einfach ein äußeres SELECT einfügen:

Code: Alles auswählen

SELECT SUM(a.saldo) as Gesamt
FROM
(
[hier Deine bisherige Abfrage rein]
) a
Gruß Barlee
heinz_ketchup
****
Beiträge: 111
Registriert: So, 07.10.2007 16:05
Wohnort: München

Re: mit SQL nur positive Summen addieren - wie?

Beitrag von heinz_ketchup »

Suuuuper! Vielen Dank, Barlee!

Jetzt funzt meine erste verschachtelte Abfrage. :D

Problem gelöst!
------------------------------------------------------------
LibreOffice 3.5.4.2 auf Mac OS X 10.10.1 und MySQL 5.5
Antworten