Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ayuda consulta preguntas repetidas (Juego preguntas y respuestas)

Estas en el tema de Ayuda consulta preguntas repetidas (Juego preguntas y respuestas) en el foro de Mysql en Foros del Web. Quiero selecconar una pregunta aleatoriamente(esto no es problema) de un determinado nivel y categoria(estos tampoco) y que no esté repetida, para ello tengo una tabla ...
  #1 (permalink)  
Antiguo 02/07/2008, 10:09
 
Fecha de Ingreso: mayo-2008
Mensajes: 6
Antigüedad: 15 años, 11 meses
Puntos: 0
Ayuda consulta preguntas repetidas (Juego preguntas y respuestas)

Quiero selecconar una pregunta aleatoriamente(esto no es problema) de un determinado nivel y categoria(estos tampoco) y que no esté repetida, para ello tengo una tabla donde tengo registradas todas las preguntas que se van formulando en el juego. Estas son las tablas, en resumidas cuentas:

Preguntas:
-Idpreguntas, Descripcion, Idnivel...

Categoria:
-Categoria,Idcategoria

Registro:
-Idpreguntas, Idsesion.

Lo que intento hacer es seleccionar las preguntas cuyo Idpreguntas no coincidan con ninguno de los de la tabla registro y su sesion sea la que yo le indique.

Esta es la consulta que tengo:

Código:
SELECT preguntas.Idpreguntas,preguntas.Descripcion FROM preguntas,preguntas_categoria,registro WHERE preguntas_categoria.Idpreguntas=preguntas.Idpreguntas AND preguntas.Idnivel='$niv' AND preguntas_categoria.Idcategoria='$cat' AND preguntas.Idpreguntas<> registro.Idpreguntas AND registro.Idsesion='$idses' ORDER BY RAND() LIMIT 1
Me da como resultado una pregunta que a veces suele estar repetida.

Mi vida depende de ello, salvadme.
  #2 (permalink)  
Antiguo 02/07/2008, 19:42
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Respuesta: Ayuda consulta preguntas repetidas (Juego preguntas y respuestas)

Hola prueba la clausula DISTINCT :
Código:
SELECT DISTINCT preguntas.Idpreguntas,preguntas.Descripcion FROM preguntas,preguntas_categoria,registro WHERE preguntas_categoria.Idpreguntas=preguntas.Idpreguntas AND preguntas.Idnivel='$niv' AND preguntas_categoria.Idcategoria='$cat' AND preguntas.Idpreguntas<> registro.Idpreguntas AND registro.Idsesion='$idses' ORDER BY RAND() LIMIT 1
Saludos
__________________
->Aprender es un proceso que incluye el error..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:49.