Ich arbeite mit einer Abfrage, die "IF" -Anweisungen innerhalb einer "WHERE" -Klausel enthält. Aber PL \ SQL Developer gibt einige Fehler während der Ausführung. Kann mir bitte jemand bei der richtigen Abfrage helfen? Hier ist die Abfrage:If-Anweisung in Where-Klausel
SELECT t.first_name,
t.last_name,
t.employid,
t.status
FROM employeetable t
WHERE IF status_flag = STATUS_ACTIVE then t.status = 'A'
IF status_flag = STATUS_INACTIVE then t.status = 'T'
IF source_flag = SOURCE_FUNCTION then t.business_unit = 'production'
IF source_flag = SOURCE_USER then t.business_unit = 'users'
AND t.first_name LIKE firstname
AND t.last_name LIKE lastname
AND t.employid LIKE employeeid;
Ich erhalte den Fehler "ORA-00920: ungültiger relationaler Operator".
Platzieren von Klammern um status_flag = STATUS_ACTIVE
Ergebnisse in Fehler „ORA-00907: fehlende rechte Klammer“
danke! das hat wirklich geholfen – user2100620
@DCookie, Wie kann ich eine WHERE-Bedingung in einer IF-Anweisung hinzufügen? – masT
Fall: 't.status = null 'würde nicht für Fälle funktionieren, in denen t.status tatsächlich null ist. Null ist komisch. – defactodeity