Я работаю с запросом, который содержит операторы «ЕСЛИ» в предложении «ГДЕ». Но PL\SQL Developer выдает некоторые ошибки при его выполнении. Может ли кто-нибудь помочь мне с правильным запросом? Вот запрос:
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;
Я получаю сообщение об ошибке «ORA-00920: неверный реляционный оператор».
Размещение квадратных скобок вокруг status_flag = STATUS_ACTIVE
приводит к ошибке «ORA-00907: отсутствует правая скобка».