Hallo zusammen,

mal wieder eine SQL-Problematik von mir...
Ich möchte in einer CASE-Anweisung mehrere Fälle über OR abfragen und wenn einer der Fälle zutrifft soll nicht mit =, sondern mit IN abgefragt werden.

Hintergrund:
Es gibt im Displayfile einige Selektionsfelder, und nur wenn mind. eines davon gefüllt ist sollen alle diese Felder im SQL berücksichtigt werden.

So wollte ich das bisher machen, aber RDI spuckt mir einen Fehler aus, dass "CASE not expected" sei..
Code:
and TABFLD CASE
    when :bth01 <> ' '
      or :bth02 <> ' '
      or :bth03 <> ' '
      or :bth04 <> ' '
      or :bth05 <> ' '
      or :bth06 <> ' '
      or :bth07 <> ' '
      or :bth08 <> ' '
      or :bth09 <> ' '
      or :bth10 <> ' '
      then in (:bth01, :bth02, :bth03,
               :bth04, :bth05, :bth06,
               :bth07, :bth08, :bth09,
               :bth10)
    else = TABFLD
    end
Ich hoffe ich habe mich nicht zu umständlich ausgedrückt!

Viele Grüße!
mojo