LEFT JOIN con dos argumentos en el ON Buenas, estoy teniendo un problema con una consulta que espero alguien pueda ayudarme. Es una mezcla de JOIN con otras restricciones.
Les describo:
Tablas: TRABAJO idtrabajo(PK)
fecha MATERIAL_TRABAJO idmaterial(FK) idtrabajo(FK)
cantidad MATERIAL idmaterial(PK)
nombre idcategoria(FK)
Quiero obtener lo siguiente:
Quiero obtener todos los trabajos junto a los materiales que sean de una categoría específica.
La consulta que estaba intentando hacer era la siguiente:
SELECT T.idtrabajo, M.idmaterial, MT.cantidad, M.nombre
FROM trabajos AS T
LEFT JOIN materiales_trabajos AS MT ON(MT.idtrabajo = T.idtrabajo)
LEFT JOIN materiales AS M ON(M.idmaterial = MT.idmaterial AND M.idcategoria = 1)
Pero no me filtra los materiales categoría 1 como yo quiero.
También probé con la siguiente manera:
SELECT T.idtrabajo, M.idmaterial, MT.cantidad, M.nombre
FROM trabajos AS T
LEFT JOIN materiales_trabajos AS MT ON(MT.idtrabajo = T.idtrabajo)
LEFT JOIN materiales AS M ON(M.idmaterial = MT.idmaterial)
WHERE M.idcategoria = 1
Pero no me muestra aquellos trabajos que no tienen materiales de es categoría.
Espero que alguien pueda ayudarme, la base de datos desgraciadamente no la armé yo y no la puedo modificar sino lo haría con muchas ganas porque no es está bien normalizada.
Saludos
Última edición por m87laucha; 14/10/2008 a las 17:57 |