Es posible que el orden de las tablas sea incorrecto.
El SQL es un lenguaje que realiza las cosas de modo que no se cumple la máxima de "el orden de los factores no altera el producto". Bueno, en este caso si lo altera.
En el SQL las tablas se leen normalmente de izquierda a derecha, de modo que si a la izquierda tienes la tabla con la menor cantidad de registros, o con pocos registros relacionados con la tabla siguiente, entonces los resultados obtenidos de la junta serán escasos, lo que hará que no se representen ciertos datos correctamente.
Lo que te conviene hacer es ordenar las tablas por jerarquía, de modo tal que a la izquierda esté la tabla primaria que contenga todos los items sobre los que se hará la consulta, y a la derecha las tablas dependientes de esa.
Si en el primer ejemplo estás poniendo la tabla SS_TAREAS, debo suponer que esa es la tabla principal y por tanto la sentencia debería ser mas o menos:
Código MySQL:
Ver original o.id,
o.objetivo,
o.f_ini,
o.f_fin,
f.name,
sipp.ss_form f
ON o.idges
= f.formula
o.estado = 'y'
Esta consulta te devolverá la media de `EVALUA`, de todas las tareas agrupadas por objetivos. Pero si alguna tarea no está relacionada con un objetivo, su valor será NULL y no se promediará ese objetivo, ya que las funciones de agregación no pueden sumar NULL, sino solamente los campos con valores reales.
Tal vez si explicas un poco mejor qué es lo que deseas obtener, podamos pensar en una forma más eficiente.