Añadí un AND dentro de la condicional ON con la condicional que realizaba el WHERE, y la consulta en sí estaba bien, pero por una tontería estaba haciendo la agrupación por la FK (control.idP), dando que a veces algun producto si no estaba en la tabla control, nunca lo iba a agrupar, cambiando ello por la PK (productos.cod) está funcionando bien.