IF Verschachteln

17/06/2009 - 18:20 von Patrick Pohlmann | Report spam
Hallo Zusammen,

ansetzend an meine vorhergehende Frage habe ich jetzt ein Problem bei der
Verschachtelung von IF Prüfungen im Code.

Bei mir sieht das aktuell so aus, geht aber nicht.

If @meinWert1 = 1 -- die erste Schachtel
If @meinWert2 = 1 -- die zweite Schachtel

BEGIN

SELECT Was auch immer1

END

ELSE

If @meinWert2 = 2 -- die zweite Schachtel

BEGIN

SELECT was auch immer 2

END

END IF --???? Oder wie sage ich, dass die jetzt wieder die erste Schachtel
kommt, also @MeinWert1 ist nicht 1

If @meinWert1 = 2 -- die erste Schachtel
If @meinWert2 = 1 -- die zweite Schachtel

BEGIN

SELECT Was auch immer1

END

ELSE

If @meinWert2 = 2 -- die zweite Schachtel

BEGIN

SELECT was auch immer 2

END


Kann man da ggf. auch mit Case arbeiten? Oder gibt es eine andere
Möglichkeit das zu tun? Im Grunde ist in der Schachtel 1 jeweils nur die
Datenbasis eine andere Sicht. Mehr àndert sich da nicht. Die Schachtel 2
àndert hier jeweils nur die WHERE Condition.

Danke für Eure Hilfe.

Viele Grüße

Patrick
 

Lesen sie die antworten

#1 Lutz Uhlmann
18/06/2009 - 10:56 | Warnen spam
Also ich würde es wahrscheinlich eher mit CASE machen ... wesentlich
übersichtlicher ...

CASE

WHEN @meinWert1 = 1 AND @meinWert2 = 1 THEN SELECT Was auch immer1

WHEN @meinWert1 = 1 AND @meinWert2 = 2 THEN SELECT Was auch immer2

WHEN @meinWert1 = 2 AND @meinWert2 = 1 THEN SELECT Was auch immer3

WHEN @meinWert1 = 2 AND @meinWert2 = 2 THEN SELECT Was auch immer4

ELSE SELECT Was auch immerX

END

Ähnliche fragen