[firebase-br] Where "especial"
Murilo -> CPR Sistemas
murilo em cprinformatica.com.br
Qui Dez 28 09:40:22 -03 2006
Algo que tentei recentemente e APARENTEMENTE funcionou, foi isso:
"select tb1.campo1,
tb1.campo2,
tb1.campo3
from TABELA1 tb1
join TABELA2 tb2 on ((tb2.campo2 = tb1.campo1)and
( (tb2.campo3 = :parametro2) or (tb2.campo3 is not null) ))
where tb1campo1 = :parametro1"
( (tb2.campo3 = :parametro2) and (tb2.campo3 is not null) )
Aparentemente como eu disse funcionou, o que está acontecendo é que esta
condição "(tb2.campo3 = :parametro2)" eu só deve levar em consideração
se o parametro2 for diferente de nulo, por se for nulo, o selct com
certeza não irá me retornar o resultado certo. mas desta forma que fiz
agora até onde é confiável?
No meu select original, uso uns 4 ou 5 sub-selects, sendo a idéia é que
caso o primeiro não traga resultado, ele executa o segundo, caso o
segundo também não traga, executa o terceiro, e assim por diante, e de
todos o sub-selects, dois possuem este detalhe, onde aquela condição
somente será levada em consideração em certos casos.
Mais detalhes sobre a lista de discussão lista