[firebase-br] Duvida na melhor maneira de fazer um Select

Prowin Informática prowin em prowin.com.br
Qua Jul 4 18:37:52 -03 2007


NOT IN é sempre muito lento...

Esse é um recurso que REALMENTE eu jamais aconselharia.

Não tenho a sentença aqui na minha cabeça, mas você pode buscar os clientes 
onde um SELECT Count(*) ... seja igual a zero.


----- Original Message ----- 
From: "Forrest®" <fernando em gramatura.com.br>
To: <lista em firebase.com.br>
Sent: Wednesday, July 04, 2007 3:19 PM
Subject: [firebase-br] Duvida na melhor maneira de fazer um Select


Boa Tarde pessoal vou tentar explicarm minha duvida.
Estou usando o FB 1.5.3 e tenho uma tabela com a seguinte estrutura
resumida

VENDAS
------
Cod_Venda (PK)
Cod_Cliente (FK de CLIENTES)
Data_Venda

Eu preciso fazer um select para pegar todos os clientes que não possuí
nenhuma venda apartir de uma data que eu informo. Gostaria de saber a
melhor forma de fazer isso, já tentei usando um sub-select mas ficou
muito lento. Alguém poderia dar exemplos da melhor maneira? O Select
que montei e Ficou lento foi o Seguinte e nen sei se está certo tb
dessa maneira. Qualquer ajuda será bem vinda.

SELECT DISTINCT(V1.COD_CLIENTE) AS CLIENTE1
FROM VENDAS V1
WHERE (DATA_VENDA < :DATAVENDA) AND
      (V1.COD_CLIENTE NOT IN (SELECT DISTINCT(V2.COD_CLIENTE) AS
CLIENTE2 FROM VENDAS V2 WHERE (V2.DATA_VENDA = :DATAVENDA)))

T++++++++++++++

-- 



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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


-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.9.14/883 - Release Date: 1/7/2007 
12:19






Mais detalhes sobre a lista de discussão lista