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.