Ver Mensaje Individual
  #12 (permalink)  
Antiguo 04/05/2015, 13:49
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Subconsulta NOT IN muy lenta

El problema es que tu query requiere tres niveles de condicioens que son mutuamente incompatibles.
Por eso hay quye hacerlo en forma escalonada, desde la mas general a la más especifica.
1) Cliente
2) Orden
3) Localidad.

En realidad esta sintaxis es sólo para MySQL, no funciona con otros, porque estoy aprovechando una particularidad de MySQL, que admite agrupar por sólo algunos campos del SELECT, o incluso campos no declarados.
En esos casos lo que hace es tomar el primer registro que cumple la condición, descartando el resto. Por eso primero lo ordeno y luego lo agrupo.

¿Se entiende la idea?

Para hacer lo mismo en otros DBMS hay que reescribirla.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)