[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