[firebase-br] duvida com where qdo tem campo calculado no select

eduardo eduardo em icontroller.com.br
Qua Abr 26 22:43:54 -03 2006


Oi Valdemir

DtProc é um alias para o campo Subselect que você criou e desta forma 
ele não pode ser referenciado como coluna na cláusula WHERE.

A maneira de contornar e obter o resultado desejado é utilizar este 
subselect com um EXISTS e atingir o objetivo do filtro.

SELECT
	  b.ID
	, b.NOME
	, b.SubID
FROM
	BANCO b
WHERE
	EXISTS(
        		SELECT 1
		FROM ARQBANCO
		WHERE
			SubID=b.SubID
			and ID_BANCO = b.id
			and TIPO = 1
			and DATA IS NOT NULL
         	)
order by b.SubID, b.id

Se essa consulta envolver um volume muito grande de dados, só tenha 
certeza de que os índices em ARQBANCO estão otimizados para este WHERE.

[]s Eduardo


Valdemir - yahoo wrote:
> quero fazer o seguinte select
> SELECT b.ID
>      , b.NOME
>      , b.SubID
>      , (select first 1 AB.DATA from ARQBANCO AB where ab.SubID = b.SubID and
> AB.ID_BANCO = b.id and ab.TIPO = 1 order by DATA DESC) as DtProc
> FROM BANCO b
> where DtProc is not null
> order by b.SubID, b.id
> 
> se eu tiro o where.. funciona... mas ai traz todos os registros eu queria
> trazer apenas qdo o resultado da coluna DtProc for diferente de nulo
> mas ai da erro falando que a coluna DtPRoc não existe
> 
> 
> Valdemir Jacon Sanches valdemirjs em prosisw.com - prosis.demi-/1Rj0zDCqbBfyO9Q7EP/yw em public.gmane.org -
> valdemir.jacon em terra.com.br - valdemirjs-/E1597aS9LRfJ/NunPodnw em public.gmane.org - valdemirjs-Re5JQEeQqe8AvxtiuMwx3w em public.gmane.org
> PROSIS Informática Nº ICQ : 43791272 MSN: : valdemirjs em hotmail.com
> 
> 
> 		
> _______________________________________________________ 
> Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora! 
> http://br.mobile.yahoo.com/mailalertas/ 
>  
> 
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista