Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/12/2015, 06:52
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: JOIN con preferencia

Lo que has hecho no tengo un adjetivo adecuado para decirlo. A nivel de SQL, eso es una consulta basura, disculpa que te lo diga. Eso NO se hace.
Lo que quieres hacer no se realiza con una consulta. Se hace por STORED PROCEDURE.

En un stored procedure puedes jerarquizar la búsqueda, haciendo que PRIMERO busque una tienda deseada, y busque otra sí y sólo si la primera consulta no devuelve datos. Ese tipo de lógica es imposible en MySQL con consultas simples. El resultado aparentemente correcto es producto de la inconsistencia de la condición, y no de un aparente resultado.

Programar consultas con OR en un JOIN no sólo es una pésima práctica, sino que te llevará a errores conceptuales gravísimos con el tiempo.
El SQL es un lenguaje de consultas muy específico, es concreto y no admite cosas como esa, porque en tal caso los resultados se vuelve inconsistentes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)