Seite 1 von 1

[gelöst] Eingang - Ausgang - Saldo berechnen

Verfasst: Mi 10. Feb 2016, 19:38
von hinti
Hallo Profis!

Ich habe schon wieder eine Frage zu einer Abfrage in Base mit einer MySQL Datenbank.
Ich habe eine Tabelle (tbl_Buchungen_Konto) mit der Spalte Umsatz. In dieser Spalte Umsatz sind positive und auch negative Zahlen drinnen.
Ich möchte:
Die Summe aller positiven Zahlen als Spalte Eingang,
die Summe aller negativen Zahlen als Ausgang
und die Gesamtsumme als Saldo

Die Abfrage für den Eingang bekomme ich ja hin

Code: Alles auswählen

SELECT SUM( `Umsatz` ) AS `Eingang` FROM `Imkerverein`.`tbl_Buchungen_Konto` where `Umsatz` > 0
aber mit der Verschachtelung mit den anderen habe ich so meine Probleme.

Kann mir da jemand weiterhelfen?

Re: Eingang - Ausgang - Saldo berechnen

Verfasst: Do 11. Feb 2016, 07:54
von gogo
ungetestet!

Code: Alles auswählen

SELECT 
	case when (Umsatz < 0) then 'Ausgang' 
		when (Umsatz > 0) then 'Eingang' 
		else 'kein Umsatz'  end as `Umsatzart`, 
	count(Umsatz) as n,
	sum(Umsatz) as `Summe`
FROM `Imkerverein`.`tbl_Buchungen_Konto`
group by 
	case when (Umsatz < 0) then 'Ausgang' 
		when (Umsatz > 0) then 'Eingang' 
		else 'kein Umsatz'  end  
UNION
SELECT
	'SALDO' as `Umsatzart`,
	NULL as n,
	sum(Umsatz) as `Summe`
FROM `Imkerverein`.`tbl_Buchungen_Konto`;
Kennzeichne das Feld Umsatz als "NOT NULL" und sorge dafür, dass da keine NULL-Werte vorkommen - sonst werden sie bei der Berechnung nicht mitgezählt!

... oder nebeneinander:

Code: Alles auswählen

SELECT 
	sum(case when (Umsatz < 0) then Umsatz end) as 'Ausgang' ,
	sum(case when (Umsatz > 0) then Umsatz end) as 'Eingang' , 
	sum(Umsatz) as `SALDO`
FROM test.table1;

Re: Eingang - Ausgang - Saldo berechnen

Verfasst: Do 11. Feb 2016, 22:48
von hinti
Hallo ihr zwei!

@HeiDieLX
Danke für das File. Wenn man es sieht, schaut es eh ganz einfach aus. Wäre aber nicht darauf gekommen und es funktioniert einwandfrei.

@gogo
Beide Varianten funktionieren, und ich habe mich für die zweite entschieden, da ich bei dieser nur eine Abfrage habe und diese von den Beiden die weniger Komplexere ist.

Danke nochmals, schön langsam bekomme ich Freude mit Base zu arbeiten.

Lg.
hinti