Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/03/2012, 17:02
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: Como demonios hago esta consulta xD

Allí, infortunadamente, la cosa se complica.
Hay varias formas de lograrlo, pero todas o casi todas requieren llamar dos veces a la tabla Filtros, asociandole un alias diferente a cada una, para poder ubicar las coincidencias.
De todos modos, hay una solución mas o menos sencilla, si lo que necesitas es sólo el Local relacionado con esos filtros y no los datos vinculados a los filtros:
Código MySQL:
Ver original
  1.     locales L
  2.     INNER JOIN rel_locales_filtros RLF ON L.id = RLF.idl
  3.     INNER JOIN filtros F ON RLF.idf = F.id
  4.     F.id IN(1, 9)
  5. GROUP BY L.titulo
Esto devolvería aquellos registros donde haya dos coincidencias al menos. Siendo que no puede repetirse una misma coincidencia de un ID de filtro más de una vez, la otra forzosamente correspondería al otro filtro.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)