Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/06/2014, 14:04
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: left join a 3 tablas

@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 original
  1. SELECT
  2.     EE.etacodigo,
  3.     ACT.actcodigo,
  4.     SUM(EA.totalactiva) AS cant
  5. FROM
  6.     ejecucion_actividad
  7.         LEFT JOIN
  8.     actividad_tipos ON (EA.codigoacttip = ACT.actcodigo)
  9.         LEFT JOIN
  10.     ejecucion_etapa ON (EA.codigoacttip = EE.etacodigo)
  11. WHERE
  12.     opcodigo = '$op'
  13. GROUP BY EE.etacodigo, ACT.actcodigo
  14. 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.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)