Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/09/2016, 14:15
roboty
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: mostrar rango de numeros

Cita:
Iniciado por leonardo_josue Ver Mensaje
Hola roboty:

La idea de tu consulta es correcta, sin embargo, no puedes utilizar el campo "aleatorio" en el where ya que es un campo calculado y por lo tanto "existe" sólo después de que se ejecuta la consulta... Podrías intentarlo de la siguiente manera:

Código MySQL:
Ver original
  1. select aleatorio
  2.   ( select round(rand()*10) as aleatorio ) T
  3. where aleatorio not in ( select numero
  4.                          from registro);

En otras palabras, ejecutar como subconsulta el SELECT para obtener el número aleatorio y después filtrar el valor. El problema con esta consulta es que cuando sea el caso de que el número aleatorio generado exista en la tabla registro, entonces el resultado de la consulta será un vacío. Lo que se me ocurre es que en lugar de hacer esto, hagas un Procedimiento Almacenado con un ciclo, el cual se ejecute "infinitamente" hasta que encuentres un número que te sirva.

Haz la prueba y nos comentas.

Saludos
Gracias, estudiare tu consulta pero creo que lo mejor sera usar programacion, saludos.