Usando um IF em um select. é possivel?
05/08/2004
0
Tenho o seguinte select:
select distinct u.nome, u.id, u.matricula, u.tipo
from usuario u , curso c, tp_curso tp
where u.id = tp.idusuario
and c.id = tp.idcurso
and u.tipo <> 3 and u.tipo <> 4 and u.tipo <> 5 and u.tipo <> 6
--and u.matricula like ´430¬´
and dias > = TO_DATE(´01/01/2004´,´dd/mm/yyYY´)
order by u.nome
Mas gostaria de fazer o seguinte:
Se o meu campo Tipo for igual a 2
usar essa linha
and u.matricula like ´430¬´
Caso contrario
Nao usar esta linha
Como eu resolvo isso?
Evandro
select distinct u.nome, u.id, u.matricula, u.tipo
from usuario u , curso c, tp_curso tp
where u.id = tp.idusuario
and c.id = tp.idcurso
and u.tipo <> 3 and u.tipo <> 4 and u.tipo <> 5 and u.tipo <> 6
--and u.matricula like ´430¬´
and dias > = TO_DATE(´01/01/2004´,´dd/mm/yyYY´)
order by u.nome
Mas gostaria de fazer o seguinte:
Se o meu campo Tipo for igual a 2
usar essa linha
and u.matricula like ´430¬´
Caso contrario
Nao usar esta linha
Como eu resolvo isso?
Evandro
Evandro_araujo
Curtir tópico
+ 0
Responder
Posts
05/08/2004
Motta
select distinct u.nome, u.id, u.matricula, u.tipo
from usuario u , curso c, tp_curso tp
where u.id = tp.idusuario
and c.id = tp.idcurso
and ((u.tipo = 2 and u.matricula like ´430¬´ ) or (u.tipo <> 2))
and dias > = TO_DATE(´01/01/2004´,´dd/mm/yyYY´)
order by u.nome
from usuario u , curso c, tp_curso tp
where u.id = tp.idusuario
and c.id = tp.idcurso
and ((u.tipo = 2 and u.matricula like ´430¬´ ) or (u.tipo <> 2))
and dias > = TO_DATE(´01/01/2004´,´dd/mm/yyYY´)
order by u.nome
Responder
Clique aqui para fazer login e interagir na Comunidade :)