Ver Mensaje Individual
  #3  
Antiguo 22-06-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Reputación: 21
ruina Va por buen camino
con group by y having creo que puedes sacarlo

Código SQL [-]
select a.codigocliente, max(a.fecha) , b.codigo, b.nombre
from clientes b 
     left outer join ventas a on a.codigocliente = b.codigo
group by a.codigocliente, b.codigo, b.nombre
having (max(fecha) < :parametro) or (max(fecha) is null)

el left outer join es para sacar tambien aquellos clientes que no tengan ninguna venta, he puesto la sintaxis de Interbase que es la que conozco, pero deberias tener un equivalente casi seguro, ya que es sql del 92.

La anterior tambien es válida, aunque creo (solo creo, no estoy seguro) que si tienes muchos registros esta deberia ser mas rápida

PD: :Parametro seria la fecha contra la que quieres chequear, asignala desde el mismo delphi que creo que será mas facil

Última edición por ruina fecha: 22-06-2004 a las 10:14:37.
Responder Con Cita