Cita:
Iniciado por huesos52
Debes combinar un poco un left join y la función ifnull
Código SQL:
Ver originalSELECT
COUNT(ifnull(pc.id_cargo,0)) AS cantidad,
p.nombre_persona,
c.nombre_cargo
FROM persona p
LEFT JOIN
cargo c
ON
p.id_persona=c.id_persona_lider
LEFT JOIN
persona_cargo pc
ON
pc.id_cargo=c.id_persona
GROUP BY pc.id_cargo
No lo he probado, pero por ahí es la cosa.
saludos
huesos52 esta consulta me genera una fila de más con datos NULL menos el nombre del lider(cantidad=28, nombre_persona='Natalia....', cargo=NULL) cuando esta persona no tiene nada que ver con la tabla CARGO y PERSONA y cuando la cantidad deberia ser 0 aparece 1, entonces le modifiqué una cosa y la fila que era NULL ya no me aparece, pero me sigue apareciendo con valor CANTIDAD=1, cuando deberia aparecer CANTIDAD=0.
Código SQL:
Ver originalSELECT
COUNT(ifnull(pc.id_cargo,0)) AS cantidad,
p.nombre_persona,
c.nombre_cargo
FROM cargo c
LEFT JOIN
persona p
ON
p.id_persona=c.id_persona_lider
LEFT JOIN
persona_cargo pc
ON
pc.id_cargo=c.id_persona
GROUP BY pc.id_cargo