El problema tiene dos partes.
Por un lado, el diseño que elegiste es defectuoso, mal planteado. Tienes una relación 1:N entre encuesta y preguntas, y N:N entre las preguntas y las respuestas. Para hacerlo así, las preguntas deberían haberse creado como tabla relacional independiente, lo que te permitiría haer un simple iNNER JOIN para obtener las respetas.
Por otro lado, el esquema que elegiste exige que hagas un INNER JOIN
por cada campo relacionado, obviamente usando alias, ya que cada INNER JOIN sólo puede obtener el vínculo entre un único campo ID de pregunta, con un único ID de respuesta
al mismo tiempo.
Código MySQL:
Ver original INNER JOIN condicional c1
ON e.pregunta2_id
= c1.id_condicional
INNER JOIN condicional c2
ON e.pregunta3_id
= c2.id_condicional
INNER JOIN condicional c3
ON e.pregunta4_id
= c3.id_condicional
INNER JOIN condicional c4
ON e.pregunta5_id
= c4.id_condicional
...
Esto también implica que necesitas invocar uno a uno los nombres en el SELECT para no terminar trayendo basura que no necesitarás:
Código MySQL:
Ver original c1.id_condicional, c1.nombre_condicional,
c2.id_condicional, c2.nombre_condicional,
c3.id_condicional, c3.nombre_condicional,
c4.id_condicional, c4.nombre_condicional,
...
INNER JOIN condicional c1
ON e.pregunta2_id
= c1.id_condicional
INNER JOIN condicional c2
ON e.pregunta3_id
= c2.id_condicional
INNER JOIN condicional c3
ON e.pregunta4_id
= c3.id_condicional
INNER JOIN condicional c4
ON e.pregunta5_id
= c4.id_condicional
...
De todos modos, con un sistema de encuesta cuyas respuestas sólo tiene dos opciones posibles, es más simple usar un campo ENUM para contener tanto el valor como la respuesta dada.
En ese sentido, lo estás complicando demasiado.