pracuję z zapytaniem, które zawiera instrukcje "IF" w klauzuli "WHERE". Ale programista PL \ SQL daje pewne błędy podczas jego wykonywania. Czy ktoś może mi pomóc w poprawnym zapytaniu? Oto zapytanie:Jeśli instrukcja w klauzuli Where
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;
Pojawia się błąd "ORA-00920: nieprawidłowy operator relacyjny".
Umieszczanie nawiasy wokół status_flag = STATUS_ACTIVE
wyniki w błąd „ORA-00907: brak prawy nawias”
dzięki! to naprawdę pomogło – user2100620
@DCookie, Jak dodać warunek klauzuli WHERE do instrukcji IF? – masT
Przypadek: 't.status = null' nie działałby w przypadkach, gdy t.status jest rzeczywiście pusty. Null jest dziwny. – defactodeity