@huesos53 tiene razón. Tu query está mal escrita, no porque tenga errores de sintaxis, sino de lógica.
Si usas JOINs implicitos, no debes usar explícitos, ni viceversa. Además, para lo que quieres
no aplican los implícitos. Por otro lado, estás invocando dos veces cada tabla, lo que no se entiende para qué.
La sintaxis más aproximada sería:
Código SQL:
Ver originalSELECT
EE.etacodigo,
ACT.actcodigo,
SUM(EA.totalactiva) AS cant
FROM
ejecucion_actividad
LEFT JOIN
actividad_tipos ON (EA.codigoacttip = ACT.actcodigo)
LEFT JOIN
ejecucion_etapa ON (EA.codigoacttip = EE.etacodigo)
WHERE
opcodigo = '$op'
GROUP BY EE.etacodigo, ACT.actcodigo
ORDER BY EE.etacodigo ASC
Por otro lado, una nota (espero que ya lo hayas buscado en Google como te dije): Esos EE, EA y ACT, son
alias puestos en la query para las tablas.
No puedo asegurarte que el resultado sea realmente el que buscas, porque los LEFT JOIn con más de dos tablas tienen a generar productos cartesianos, ya que al no relacionar la segunda y tercera tabla entre si, se genera una relación en estrella. Y ese tipo de relaciones tiende a producir errores de resultados.