Pues mira:
Código MySQL:
Ver original INNER JOIN questions
ON answers.id_questions
=questions.id_question
INNER JOIN typequestions
ON questions.id_typequestions
=typequestions.id_typequestion
WHERE answers.id_friend
=54321
¿Ves que estás llamando
dos veces a la tabla "questions", siempre con el mismo nombre?
Bueno, ese es el problema.
¿Cómo se soluciona?
Con ALIAS. Para eso se usan.
Aunque en realidad me parece que tu caso es más bien que pusiste una tabla de más...
Por otro lado, estás mezclando JOINs implícitos on explícitos, lo que puede dar lugar a respuestas erróneas.Si usas INNER JOIN , usa INNER JOIN en TODAS LAS TABLAS. Siempre.
Consejo: acostúmbrate a usar alias. Evitan tener "codigos chorizo" ilegibles.