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]