el_javi,
ahora no puedo ayudarte con toda la consulta: tal vez algo más tarde. Pero mira esto, esto es a lo que me refiero como producto cartesiano de las tres tablas, aplicaciones, material y productos. Esa consulta (pruébala sola y verás el resultado) la convierto mediante alias en una tabla y luego relaciono con ella las otras tablas.
Código MySQL:
Ver originalSELECT a.APPLICATION_name_spanish
, a.APPLICATION_ID
, m.MATERIAL_name_spanish
, m.MATERIAL_ID
, p.PRODUCT_title_spanish
, p.PRODUCT_ID
FROM `t_applications` a
, t_materials m
, t_products p
Esta otra consulta creo que te saca los datos de un producto en un material y aplicación determinado. Dime si los datos que te saca son correctos. Lo que importa ahora son los números, los identificadores. Luego mostraremos los nombres, por eso no te preocupes
Código MySQL:
Ver originalSELECT p.PRODUCT_ID
, IFNULL( COUNT( * ) , 0 ) total
, pa.APPLICATION_ID
, pm.MATERIAL_ID
LEFT JOIN t_products_applications pa
ON p.PRODUCT_ID
= pa.PRODUCT_ID
LEFT JOIN t_products_materials pm
ON p.PRODUCT_ID
= pm.PRODUCT_ID
GROUP BY pa.APPLICATION_ID
, pm.MATERIAL_ID