Ich musste das für Pervasive anpassen mit
when:
Code:
select K.Datum,
LTrim(P.PersNr),
P.Name,
P.Vorname,
sum(Case when K.Konto = '2' then K.Saldo else 0 END) as Saldo2,
sum(Case when K.Konto = '8' then K.Saldo else 0 END) as Saldo8,
sum(Case when K.Konto = '32' then K.Saldo else 0 END) as Saldo32
from Kontenstand as K, Personalstamm as P
where (K.PersId=P.Identifikation)
and
((K.Konto='2')or(K.Konto='8')or(K.Konto='32') )
and
(((K.Datum) = CURRENT_DATE()-1)) and (K.Saldo <> '')
order by
K.Datum, P.PersNr, P.Name, P.Vorname
Dann erhalte ich aber die folgende Fehlermeldung:
Column invalid. Must be a group by column: Datum in SELECT LIST
Zur Verdeutlichung noch mal mein Problem:
Meine Tabelle "Kontenstamm" hat folgenden Aufbau:
ID..Konto...PersId...Datum.........Saldo
1.....3............100.....20140616.......420
2.....2............4711...20140616........520
3.....8............100.....20140616.......120
4.....32...........4711...20140616........420
...
Mein Ergebnis soll dann so ausschauen:
..Datum...|.EXPR_1..|.EXPR_2...|..Name......|..Vor name....|..Saldo2....|...Saldo8.....|...Saldo32
6/16/2014.|.................|.100............|..Albers. ......|..Albert............|.(Null).........|...12 0............|...(Null).
6/16/2014.|.................|.4711..........|..Albers.. .....|..Albert............|.520............|...(Nu ll).........|...420....
Edit: Wenn ich anstelle
order by dann
Group by nehme scheint alles zu funktionieren!
@mkinzler, Vielen Dank!
Gute Nacht an Alle!