Se declaração dentro da cláusula Where

Eu estou trabalhando com uma consulta que contém instruções "IF" dentro de uma cláusula "WHERE". Mas PL \ SQL Developer está dando alguns erros ao executá-lo. Alguém pode me ajudar com a consulta correta? Aqui está a consulta:

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;

Eu recebo o erro "ORA-00920: operador relacional inválido".

Colocar suportes ao redorstatus_flag = STATUS_ACTIVE resulta em erro "ORA-00907: falta de parênteses à direita"

questionAnswers(2)

yourAnswerToTheQuestion