Volveré a publicar esta pregunta porque creo que la última vez que lo redacté estaba mal, y la solución que pensé que estaba funcionando no lo es.MySQL: muchos a muchos se unen donde no existe
Tengo 3 tablas: proyectos, servicios y recomendaciones. Las recomendaciones proporcionan la relación muchos a muchos entre Proyectos y Servicios, es decir, cada fila en Recomendaciones tiene un project_id y un service_id.
Digamos que hay 1000 proyectos y 5 servicios. No esperaría más de 5000 registros en mi tabla de Recomendaciones, pero casi seguramente menos (es decir, algunos proyectos no tienen recomendaciones de servicio). Por lo tanto, para el proyecto # 1, si se han recomendado los 5 servicios, que vería 5 filas en la tabla de recomendaciones como:
project_id service_id
1 1
1 2
1 3
1 4
1 5
Lo que estoy tratando de hacer es construir una consulta que me muestra lo que los proyectos no hacen tener todos los 5 servicios recomendados, y cuáles son. Así que digamos que el proyecto n. ° 1 solo tenía los primeros 3 servicios recomendados; el resultado de mi consulta que muestra cuáles faltan podría verse así:
project_id service_id
1 4
1 5
¡Gracias!
cuestión Anterior: http://stackoverflow.com/questions/ 5169625/sql-join-three-tables-combined-inner-left-outer-join – JNK
Si hace referencia a una pregunta anterior de más de una hora, es bueno incluir un enlace, especialmente cuando dice que la respuesta anterior no lo hizo trabajo :) – JNK
De hecho, lo siento! Tomó nota para referencia futura: P – David