cara tenta assim...

SELECT cad.nome, cad.codigo
 From cadastro cad
  LEFT JOIN orpenf OP ON OP.CdCliente = cad.Codigo
where OP.cadastro BETWEEN DATE_SUB(curdate(), INTERVAL 90 DAY) and CURDATE()
  AND OP.Codigo IS NULL
GROUP BY cad.nome, cad.codigo

Não sei se vai funcionar nessa sintaxe.. Trabalho SQL Server, tem que 
ver como que fica a sintaxe para MySQL dos JOINS...
Usa um LEFT. ele não restring nada... dai filtra pelo periodo e todos os 
que foram NULL... O Group by é somente para retornar menos registros...
o CdCliente da tabela de pedidos eu chutei.. dai troca pro nome correto...

espereo ter ajudao..

falouuuuuuuuu

Atenciosamente

Jaques Douglas
Desenvolvedor
Blumenau - SC

Rodrigo Mota escreveu:
>
> Boa tarde Galera,
>
> Sei que aqui é Delphi ...
>
> Preciso fazer o seguinte listar os clientes que ainda não comprar em nos
> ultimos 3 meses....
>
> Tenho
>
> Clientes -> Tabela de Clientes -> 23000 mil registros aproximadamente....
>
> Orpenf -> Ordem de pedidos -> aqui 18000 mil aproximadamente...
>
> A qry até fiz...o problema é que está lento pra kct....como não tenho no
> momento a conf. Do Servidor...
>
> fica ruim pra eu abusar...gostaria de otimizar, se puderem ajudar, 
> agradeço.
>
> SELECT cad.nome, cad.codigo
>
> >From cadastro cad
>
> where cad.codigo not in (select cliente
>
> from orpenf
>
> where cadastro
>
> BETWEEN DATE_SUB(curdate(), INTERVAL 90 DAY)
> and CURDATE()
>
> )
>
> O banco é MySQL
>
> Ta demorando pacas...se tiver um jeito mais inteligente..., se não 
> verei com
> o cliente a possibilidade de Upgrade
>
> No Servidor...
>
> Abs,
>
> Rodrigo Mota.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  



[As partes desta mensagem que não continham texto foram removidas]

Responder a