Access - Ayuda con una consulta, pleaseeeeeeee

 
Vista:

Ayuda con una consulta, pleaseeeeeeee

Publicado por Sonya (1 intervención) el 05/07/2006 11:09:28
Buenas!!!
Tengo un pequeño gran problema con una consulta que no hace más que darme dolores de cabeza. A ver si hay alguien que pueda ayudarme.

La cuestión es la siguiente.

Tengo 4 tablas:

tabla "resultados"

* codigo
* resultado

tabla "tema"

* codigo
* tiempo_estimado


tabla "pregunta":

* codigo
* tema_id (FK tema.codigo)
* test_id (FK test.codigo)
* tiempo_ejecutado
* alumno (FK alumno.codigo)
* resultado (FK resultado.resultado)

tabla "alumno":

* codigo
* nombre


tabla "test"

* codigo
* comienzo_previsto
* comienzo
* fin_previsto
* fin


En la tabla pregunta, el campo resultado ha de ser uno de los registros de la tabla resultado, es decir, si en la tabla resultado tengo:
1- (en blanco)
2- NS/SC
3- Si
4- No;

en un registro cualquiera de la tabla pregunta, en el campo resultado ha de haber "", "pasado", "aviso" o "problema"


Sabiendo esto, lo que necesito sería:

Hacer una consulta que me diga cuantas preguntas hay que tengan cada respuesta, agrupándolas a su vez dependiendo del test en el que estén incluidas y del alumno que la haya respondido.

Sería algo así como:

Test Alumno totalPreguntas (blanco) NS/NC Si No
Primav05 Alicia 150 0 5 105 40
Primav05 Juan 150 150 0 0 0
Primav05 Pedro 150 3 7 70 70
Verano05 Alicia 70 5 5 15 45
Verano05 Juan 70 0 0 30 40
Verano05 Pedro 70 150 0 0 0

Así pues, si todas las preguntas de un test, para ese alumno, están en blanco, significa que ese test no se ha realizado.


Bueno, a ver si alguien puede echarme un cable porque ya no se que probar. Os pongo lo que yo hice, conseguí que funcionara solo que yo necesito que salgan todos los resultados, y en cambio solo aparecian los que tenian algún resultado, es decir, que si no había ninguna pregunta con Si, esa columna no aparecía.


La consulta es:

SELECT test.comienzo_prev, test.comienzo, test.fin_prev, test.fin, Sum(pregunta.tiempoEjecutado) AS SumaTiempoEjecutado, Sum(tema.tiempoEstimado) AS SumaTiempoEstimado, pregunta.alumno, pregunta.resultado, test.codigo, Count(pregunta.codigo) AS CuentaPreguntas
FROM test INNER JOIN (tema INNER JOIN pregunta ON tema.codigo=pregunta.tema_id) ON test.codigo=pregunta.test_id
GROUP BY test.comienzo_prev, test.comienzo, test.fin_prev, test.fin, pregunta.alumno, pregunta.result, test.codigo;

Gracias por anticipado!!!
Wink

PD: Siento ser tan pesada, acabo de ver el mensaje y es larguíiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiisimo!!! Jajajajaja
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con una consulta, pleaseeeeeeee

Publicado por nacho (28 intervenciones) el 05/07/2006 12:25:35
Lo que quieres hacer yo creo que no se puede en una sola consulta. Te tienes que crear varias consultas, una para el total de cada respuesta y cuando tengas esto te creas otra consulta en la que debes incluir las anteriores y así obtener el resultado que quieres.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar