Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/09/2009, 23:36
Silver
 
Fecha de Ingreso: noviembre-2001
Ubicación: México DF
Mensajes: 128
Antigüedad: 22 años, 4 meses
Puntos: 0
Arrays dentro de un SELECT (o algo parecido)

Hola amigos,

Como parte de un sitio web de exámenes en línea tengo tres tablas llamadas "tests", "questions" y "options", la primera contiene el examen, la segunda las preguntas del examen y la tercera las posibles respuestas a cada pregunta.
Algo así:
Código HTML:
TESTS
idtest, bigint(10)
test, varchar(100)
description, text
... más campos ...

QUESTIONS
idquestion, bigint(10)
testid, bigint(10)
question, varchar(100)
questiontype, bigint(10)
... más campos ...

OPTIONS
idoption, bigint(10)
questionid, bigint(10)
option, varchar(100)
rightanswer, tinyint(1)
... más campos ...
Para poder armar el examen necesito una query que me de el nombre del examen, los textos de cada pregunta y los textos de las 4 posibles respuestas... ¿es posible esto en una sola query con subqueries????

En PHP yo estaría esperando algo parecido a:

Nombre Examen 1, ((Nombre Pregunta 1, (Opcion 1, Opcion 2, Opcion 3)), Nombre Pregunta 2, (Opcion 1, Opcion 2, Opcion3)), ... más preguntas ... )

Como lo tengo hecho ahora es:
- Un primer select para obtener los preguntas
- Un ciclo para recorrer la lista de preguntas.
- Por cada pregunta un nuevo select para obtener las posibles respuestas a esa pregunta.

¿Alguna sugerencia para mejorar esto y que no haya tantos selects?
Saludos,

Silver
__________________
Nuedi Servicios SA de CV
http://www.nuedi.mx