Si haces LEFT JOIN con numelectos, también debes hacer LEFT JOIN con las tablas que se unen a ella.
Si numelectos no tiene registros, C.CIRCUNSCRIPCION será nulo y el JOIN con población no devolverá nada.
Código SQL
[-]
from partidos a
join resultados b on b.partido = a.codigo and a.codprv = b.codprv
left join numelectos c on b.codprv = c.codprv and b.proceso = c.proceso and c.tipo = 'M' and b.partido = c.partido
*LEFT* join poblacion d on a.codprv = d.codprv and d.codigo = c.circunscripcion
Código SQL
[-]
from partidos a
join resultados b on b.partido = a.codigo and a.codprv = b.codprv
left join numelectos c on b.codprv = c.codprv and b.proceso = c.proceso and c.tipo = 'M' and b.partido = c.partido
*LEFT* join poblacion d on a.codprv = d.codprv and d.codigo = c.circunscripcion
*LEFT JOIN* mesas on codprv = a.codprv and municipio = c.circunscripcion
Para que no se haga eterno deberás tener índices para los campos con los que haces el JOIN.
He visto que tienes PKs, que generan índices para estas tablas, pero que quizás no sean óptimos.
Por ejemplo
Quizás NUMELECTOS debería cambiar el orden de los campos de la PK a CODPRV,PROCESO,TIPO,[PARTIDO <- , -> CIRCUNSCRIPCION],CARGO para que se utilice mejor en el LEFT JOIN.
POBLACION debería tener un índice por CODPRV,CODIGO.
MESAS no tiene ningún índice.