Hallo Dietlinde,
du beschreibst da ein statisches SQL, an das du eine dynamische where Anweisung andocken willst. Das geht (meines Wissens nach) nicht.
Entweder machst du das ganze SQL dynamisch: Du baust dir den kompletten SQL String mit RPG Mitteln zusammen und führst das dann aus
ODER
du machst alles statisch:
Ich gehe mal davon aus, dass deine Selektionswerte wert1 bis wert6 leer sind, wenn sie nicht benötigt werden und gefüllt sind, wenn sie zur Selektion beitragen sollen. Dann könntest du das where so scheiben:
Code:
... where (:wert1 = '' or feld1 = :wert1)
and (:wert2 = '' or feld2 = :wert2)
and (:wert3 = '' or feld3 = :wert3)
and (:wert4 = '' or feld4 = :wert4)
and (:wert5 = '' or feld5 = :wert5)
and (:wert6 = '' or feld6 = :wert6)
Diese Variante ist allerdings eventuell nicht sehr performant, da wegen der OR-Bedingungen wahrscheinlich kein guter Index verwendet wird.
LG, Dieter
Bookmarks