Consulta SQL empleando el operador IN

Consulta SQL empleando el operador IN

de Nayra Quesada -
Número de respuestas: 0

Hola a todos!!! Resulta que deseo obtener las preguntas de ciertas encuestas (survey) y para ello utilizo la siguiente consulta SQL:

SELECT mdl_survey_questions.*

FROM `mdl_survey_questions`,`mdl_survey`,`mdl_user_teachers`,`mdl_course`

WHERE mdl_survey_questions.id IN (mdl_survey.questions) AND mdl_survey.course=mdl_course.id AND mdl_course.id=mdl_user_teachers.course AND mdl_user_teachers.userid=10

Pero resulta que en esta condición mdl_survey_questions.id IN (mdl_survey.questions) el operador IN no funciona como esperaba. Si, por ejemplo, en los registros de mdl_survey seleccionados por las otras condiciones aparecen en el campo questions estas 3 cadenas, por ejemplo, en un registro "23,51,48",en otro registro "34,90" y en otro registro "42,89", entonces me devuelve los registros de mdl_survey_questions cuyos id son 23, 34 y 42, cuando en realidad yo deseo obtener los registros con id 23,51,48,34,90,42 y 98.

¿ Alguien me podría decir qué está fallando ? Mil gracias de antemano.

Promedio de valoraciones: -