Я работаю с запросом, который содержит инструкции «IF» в предложении «WHERE». Но PL \ SQL Developer дает некоторые ошибки при его выполнении. Может ли кто-нибудь помочь мне с правильным запросом? Вот запрос:Оператор if в разделе 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;
Я получаю ошибку "ORA-00920: неверный оператор отношения".
Размещение скобки status_flag = STATUS_ACTIVE
Результаты по ошибке «ORA-00907: отсутствует правая скобка»
спасибо! что действительно помогло – user2100620
@DCookie, Как я могу добавить условие WHERE в выражении IF? – masT
Дело: 't.status = null' не будет работать в случаях, когда t.status фактически является нулевым. Нуль странно. – defactodeity