Ver Mensaje Individual
  #7  
Antiguo 10-09-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Reputación: 20
basti Va por buen camino
Cuidado con las subconsultas si la tabla es muy grande (y una tabla de tickets suele serlo), porque le puede llevar mucho tiempo realizarla.

Para evitar esto, tienes que tener bien definidos los índices de la tabla. En tu caso, tener un índice por nombre.

De todas maneras esta consulta quedaría más sencilla si utilizas el código del proveedor en vez del nombre, con lo que evitarías relacionar las tablas en la subconsulta, además de que (supongo) tienes índices en la tabla por tickets.codigo_prov y proveedor.codigo. También es posible que te vaya más rápido con un join.

Código SQL [-]
SELECT distinct nombre from tickets left outer join proveedor
on (tickets.codigo_prov = proveedor.codigo)
where fecha>='01/01/2007 00:00:00' and fecha<='12/31/2007 23:59:59' and salida=1 and tickets.codigo_prov NOT IN (select codigo_prov from tickets where
fecha>='08/01/2007 00:00:00' and fecha<='08/31/2007 23:59:59' and salida=1 )
__________________
Saludos.
Responder Con Cita