@Olli73:
Mit der Case Anweisung hat es leider nicht geklappt. Habe das mal mit IF ausgetauscht und jetzt funktioniert es so wie ich es haben möchte. Danke dafür.
Code:
select kundnr, sum(if(gesamt<0,0,gesamt)) as positiv,
sum(if(gesamt>=0,0,gesamt)) as negativ,
sum(gesamt) as gesamt,
((sum(if(gesamt>=0,0,gesamt))*-1) * 100 /
sum(if(gesamt<0,0,gesamt))) as anteil
from kundenrechnungen
where mandantenid = '000'
group by kundnr;
Was etwas unschön ist, dass man mit diesen langen SUM-Funktionen auch rechnen muss. Mit dem Namen, den man vorher der Spalte zugewiesen hat (positiv, negativ) geht es leider nicht.
Gibt dafür eine Alternativ, eine quasi Variable, mit der man auch rechnen kann?
Stephan