¿Cómo filtrar mysql con php dentro de un left join?
Necesito de su ayuda nuevamente..
Tengo el siguiente código para poder traer los resultados de la tabla (Financiero) de TODOS los integrantes de la tabla "Grupo" con id=1.
$consulta_mysql="select sum(financiero.resultado) as sumatoria, Grupos. Id3, grupos.id_perfil, grupos. Nombre From grupos LEFT JOIN financiero on financiero.id_perfil=grupos.id_perfil WHERE grupos.idgrupo=1 GROUP BY grupos.id_perfil ORDER by sumatoria DESC"; $resultado_consulta_mysql=mysql_query($consulta_mysql,$conexion); while($fila=mysql_fetch_array($resultado_consulta_mysql)){ echo "suma ".($fila['sumatoria'])." ".($fila['nombre'])." "; }
Y devuelve a modo de ejemplo el siguiente resultado:
Suma 15 Carlos Suma 11 Lucas Suma 0 Pedro suma 0 David
dentro de la tabla "Financiero" hay un campo "Periodo", Me gustaria, ademas de que se filtre por grupo.idgrupo=1 que se pueda filtrar por ejemplo por financiero.periodo=1.
Intenté realizarlo pero al hacerlo pierdo el Left Join. Es decir, solo me muestra en donde encuentra coincidencia. Ejemplo: Agregue el ("and financiero.periodo=1" en la linea 5)
$consulta_mysql="select sum(financiero.resultado) as sumatoria, grupos.id3,grupos.id_perfil, grupos.nombre from grupos LEFT JOIN financiero on financiero.id_perfil=grupos.id_perfil WHERE grupos.idgrupo=1 and financiero.periodo=1 GROUP BY grupos.id_perfil ORDER by sumatoria DESC"; $resultado_consulta_mysql=mysql_query($consulta_mysql,$conexion); while($fila=mysql_fetch_array($resultado_consulta_mysql)){ echo "suma ".($fila['sumatoria'])." ".($fila['nombre'])." "; }
Resultado de esto último:
Suma 8 Lucas Suma 3 Carlos
Y deberia ser este resultado:
Suma 8 Lucas Suma 3 Carlos Suma 0 Pedro Suma 0 David
Respuesta de Lucas Aguirre
2