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

Valdemir - yahoo valdemirjs em yahoo.com.br
Qui Abr 27 15:53:53 -03 2006


eu consegui fazer atravez de uma dica para colocar no where o codigo para 
criar a coluna...
...
eu acho que do jeito que vc passou talves não daria certo pois a tabela 
ARQBANCO, contem arquivos de bancos, sendo que um banco pode ter 1 ou mais 
itens no ARQBANCO, no select, eu preciso pegar a data de processamento do 
ultimo arquivo de cada banco, por isso coloquei first 1, e ordenei por data 
descendente para pegar a ultima
tive que colocar a condição not null pois pode haver um banco que não tenha 
data de processamento
....
eu parti para a solução de fazer o select na tabela banco, e puxar uma 
coluna com a ultima data...
agora escrevendo este email, acho que eu poderia fazer um select na tabela 
ARQBANCO
usando o DISTINCT IDBANCO, e ai poderia ordernar por data descentente.. tipo


select
 ab.IdBanco,
 b.Nome,
 ab.SubId,
ab.Data
 from ARQBANCO
Left join Banco b on (b.id = ab.idbanco)
where (ab.tipo = 1)
order by data desc


só não sei qual dos selects fica mais leve para o servidor, estou aprendendo 
sql agora.. para quem vem do clipper... é um outro universo... a tabela tem 
pouca informação ainda não da para eu simular.. mas vou fazer isso assim que 
entregar algumas coisas para o cliente.. para descobrir qual dos selects 
fica mais leve... este ultimo ainda não testei... talves nem rode.. estou em 
um micro que não tem nem o delphi nem o firebird.

Valdemir Jacon Sanches valdemirjs em prosisw.com - prosis.demi em uol.com.br - 
valdemir.jacon em terra.com.br - valdemirjs em yahoo.com.br - valdemirjs em gmail.com 
PROSIS Informática Nº ICQ : 43791272 MSN: : valdemirjs em hotmail.com
----- Original Message ----- 
From: "Edvaldo (bol)" <evgomes em bol.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, April 26, 2006 11:41 PM
Subject: Re: [firebase-br] duvida com where qdo tem campo calculado no 
select


Tente fazer assim:

SELECT b.ID
     , b.NOME
     , b.SubID
FROM BANCO b
join arqbanco ab on (ab.SubID = b.SubID)
where AB.ID_BANCO = b.id
  and ab.data = (select max(ab.data)
                   from ARQBANCO AB
                  where ab.SubID = b.SubID
                    and AB.ID_BANCO = b.id
                    and ab.TIPO = 1 )
order by b.SubID, b.id

----- Original Message ----- 
From: "Valdemir - yahoo" <valdemirjs em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, April 26, 2006 5:35 PM
Subject: [firebase-br] duvida com where qdo tem campo calculado no select


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 em uol.com.br -
valdemir.jacon em terra.com.br - valdemirjs em yahoo.com.br - valdemirjs em gmail.com
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


______________________________________________
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 


		
_______________________________________________________ 
Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz. 
http://br.info.mail.yahoo.com/





Mais detalhes sobre a lista de discussão lista