Ver Mensaje Individual
  #6 (permalink)  
Antiguo 10/03/2008, 05:01
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
Re: Consulta simple M2M!

Después de leer mejor tu consulta, te propongo esto:
Código:
SELECT T2.archivo_Id 
FROM archivos_etiquetas 
INNER JOIN 
   (SELECT archivo_id 
    FROM archivos_etiquetas WHERE etiqueta_id IN(1)
   ) AS t1 USING(archivo_id) 
WHERE T2.etiqueta_id IN(2) ;
¿Por qué usar IN y no HAVING o a = b?
Porque la comparación de HAVING y una comparación a = b, se hace sobre la tabla resultado de la selección, incluyendo resultados parciales, mientras que IN omite los registros que no cumplen la condición, mientras los lee de la tabla.