PDA

View Full Version : SQL CASE bei WHERE



DKSPROFI
21-12-18, 08:52
Moin Ihr Lieben,

ich suche mir schon einen Wolf und habe das berühmte Brett vom Kopf.
Kann man eigentlich ein WHERE bei SQL bedingen, frei nach dem Motto:

Declare C1 Cursor For Select * From Datei

Where Case when <bedingung> Feld1 = 0
Case When <bedingung> Feld2 ='Wert' ?

Vielen Dank im voraus.

mfg

DSKPROFI</bedingung></bedingung>

andreaspr@aon.at
21-12-18, 09:46
Geht das nicht mit OR & AND Verknüpfungen?

Fuerchau
21-12-18, 09:59
Nun ja, in einer Where-Klausel muss ein Ausdruck True oder False melden.
In Bezug auf einen Case, muss das Ergebnis noch verglichen werden:

case when Bedingung then 1 elso 0 end = 1

Die Bedingung ist dann ein ganz normaler Ausdruck mit And/Or usw.
Allerdings frage ich mich in solchen Fällen, was die Bedingung im case macht und warum man sie nicht direkt verwenden kann.

ExAzubi
03-01-19, 14:05
Also bei der obrigen Abfrage sollte man es als OR machen

Declare C1 Cursor For Select * From Datei

Where Feld1<bedingung style="color: rgb(51, 51, 51); background-color: rgb(250, 250, 250);"> = 0
or <bedingung>Feld2 ='Wert'



</bedingung></bedingung>