Tengo tres tablas:
- persona (nombre_persona, id_persona)
- cargos (nombre_cargo, id_cargo, id_persona_lider)
- persona_cargos (id_cargo, id_persona)
una persona puede participar o pertenecer a uno o varios cargos y en a un cargo puede pertenecer una o varias personas.
PERSONA lidera CARGOS (uno a varios)
PERSONA participa CARGOS (varios a varios) ==> PERSONA_CARGOS
Ahora lo que quiero hacer es una consulta que me muestre el nombre del cargo, nombre del lider de ese cargo y la cantidad de personas que participan de ese cargo(count()). Se debe incluir en el resultado los cargos que aun no tienen participantes osea cantidad=0.
Código SQL:
Ver original
SELECT COUNT(pc.id_cargo) AS cantidad, p.nombre_persona, c.nombre_cargo FROM persona p, cargo c, persona_cargo pc WHERE p.id_persona=c.id_persona_lider AND pc.id_cargo=c.id_persona ORDER BY pc.id_cargo
esta consulta me devuelve los resultados pero no me cuenta los cargos que aún no tienen participantes.