¿Y esta consulta, agrupando también por producto? Comprueba ahora los resultados.
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 p.PRODUCT_ID
, pa.APPLICATION_ID
, pm.MATERIAL_ID
Respecto a lo otro, claro que esta consulta no te dará todas las posibilidades, pero sí las que tienen datos. Lo otro te lo dará la primera consulta de mi post anterior. Luego uniremos ambas consultas, pero hay que comprobar antes que los datos son los esperados.