En principio, no conocemos la estructura de las tablas, pero si estas relaciones son correctas:
Código MySQL:
Ver original...
ON a.codigo
= ac.agenda
...
ON ac.categoria
= anc.nombre
y es así como están definidas las FK, entonces lo que tienes son errores de datos, y estás usando tablas MyISAM y no InnoDB.
El tema es que INNER JOIN es mandatorio: todas las relaciones de los ON deben cumplirse si o si para que devuelva datos. Adicionalmente, todos esos datos deben cumplir el WHERE.
Verifica los datos, porque la query no tiene errores sintácticos.