Erst einmal vielen Dank für die Hilfe!
@EarlyBird
Bei deinem Vorschlag erhalte ich 3 Zeilen, je Konto eine Zeile. Ich benötige aber alles in einer Zeile. Das hatte ich nicht explizit erwähnt, sorry.
@p80286
Das scheint mir gefühlsmäßig der beste Weg zu sein. Allerdings erhalte ich einen Syntax-Fehler:
Code:
select K.Datum,
'',
LTrim(P.PersNr),
P.Name,
P.Vorname
from Personalstamm as P
outer join (select Konto,Saldo from Kontenstand where Konto=2) kt2
outer join (select Konto,Saldo from Kontenstand where Konto=8) kt8
outer join (select Konto,Saldo from Kontenstand where Konto=32) kt32
on (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 <> ''
Kann jemand das Problem erkennen? Der Fehler kommt nach dem ersten outer.
@mkinzler
Leider kennt mein Pervasive keine
IIF() Funktion.
Ps.:
Btw. entweder IF-Klausel oder IF clause aber nicht IF Clausel, denn das ist weder deutsch noch englisch noch denglish!
Da hast du natürlich Recht. Danke für den Hinweis!
@Jumpy
Generell funktioniert das Statement mit
Union. Aber auch hier werden 3 Zeilen erzeugt, für jedes Konto eine Zeile.
Eigentlich müsste meine tabellen-Struktur anders sein. Ich müsste die Konten als Spalten haben und nicht als Zeilen.... Aber da kann ich nichts ändern.
Gibt es für meine Anforderung überhaupt eine Lösung?