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

problema consulta aleatoria

Estas en el tema de problema consulta aleatoria en el foro de Bases de Datos General en Foros del Web. SELECT * FROM imagenes ORDER BY RAND() LIMIT 1 Esa es la consulta, me dice que falta un operador en la expresión de consulta rand() ...
  #1 (permalink)  
Antiguo 07/05/2004, 10:40
 
Fecha de Ingreso: abril-2004
Ubicación: Zaragoza
Mensajes: 63
Antigüedad: 20 años, 7 meses
Puntos: 0
problema consulta aleatoria

SELECT * FROM imagenes ORDER BY RAND() LIMIT 1

Esa es la consulta, me dice que falta un operador en la expresión de consulta rand() limit 1

debo de indicarle en el rand() cuantos registros hay??
saludos!
  #2 (permalink)  
Antiguo 07/05/2004, 11:25
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
no puedes hacer un ordenamiento aleatorio si no lo has descrito en el select; deberias de detallar cada campo y el rand() dentro de dicho select... algo asi

Código:
 select campo1, campo2, campo3, rand()
 from mytabla
 order by rand();
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 07/05/2004, 11:34
 
Fecha de Ingreso: abril-2004
Ubicación: Zaragoza
Mensajes: 63
Antigüedad: 20 años, 7 meses
Puntos: 0
pero tengo que crear un campo rand() ???
eso no lo entiendo muy bien.
A ver ahora he echo esto:
SELECT codigo_imagen, ruta, rand()
FROM imagenes
order by rand();
. . . y me dice que la función rand no está definida en la expresion.
perdon por mi ignorancia :S
  #4 (permalink)  
Antiguo 07/05/2004, 13:50
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 10 meses
Puntos: 13
paxxel, se hace como dijiste al principio, yo lo probé y me funciona perfectamente.

que extraño no?
__________________
El conocimiento es libre: Movimiento por la Devolución
  #5 (permalink)  
Antiguo 07/05/2004, 15:38
 
Fecha de Ingreso: abril-2004
Ubicación: Zaragoza
Mensajes: 63
Antigüedad: 20 años, 7 meses
Puntos: 0
hola frijolerou
como has escrito tu exactamente la consulta? a mi me da ese error del rand
  #6 (permalink)  
Antiguo 07/05/2004, 16:32
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
que raro.... probe exactamente como la tienes escrita y la consulta corre perfectamente
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #7 (permalink)  
Antiguo 07/05/2004, 20:22
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 10 meses
Puntos: 13
"SELECT * FROM imagenes ORDER BY RAND() LIMIT 1"

la probé en una pagina, y tambien laprobé directamente en el phpmyadmin y ningun problema. Fijate bien quizás tengas por ahi un puntito, o una coma que te sobre. o te daltan algunas comillas... revisa bien tu código.
__________________
El conocimiento es libre: Movimiento por la Devolución
  #8 (permalink)  
Antiguo 08/05/2004, 02:54
 
Fecha de Ingreso: abril-2004
Ubicación: Zaragoza
Mensajes: 63
Antigüedad: 20 años, 7 meses
Puntos: 0
yo la he probado solamente en access 2000
voy a probarla mediante ASP a ver que pasa, pero con access no me funciona
gracias!
  #9 (permalink)  
Antiguo 08/05/2004, 03:02
 
Fecha de Ingreso: abril-2004
Ubicación: Zaragoza
Mensajes: 63
Antigüedad: 20 años, 7 meses
Puntos: 0
Nada, que me sigue dando el mismo error, el codigo ASP es el siguiente:
<%
dim conn,rs
Set Conn = Server.CreateObject("ADODB.Connection")
Set rs=Server.CreateObject("ADODB.RecordSet")
Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/basesdedatos/imagenes.mdb"))
consulta_SQL= "SELECT * FROM imagenes ORDER BY RAND() LIMIT 1"
Conn.execute consulta_SQL
RS.Open consulta_SQL ,conn
ruta = request("ruta")
response.Write("<IMG SRC="&RS("ruta") &" BORDER=2>")
rs.close
conn.close
Set rs=nothing
Set conn=nothing
%>

------------------------
y el error el que os decía antes:
Tipo de error:
Microsoft JET Database Engine (0x80040E14)
Error de sintaxis (falta operador) en la expresión de consulta 'RAND() LIMIT 1'.
/TMP2rkk6xe14h.asp, línea 7

---------------------------------------
no será que tengo algo mal en las tablas??? mmmmm
a ver tengo un campo codigo_imagen autonumérico y otro con la ruta, no tengo nada mas. . .
  #10 (permalink)  
Antiguo 08/05/2004, 03:21
 
Fecha de Ingreso: abril-2004
Ubicación: Zaragoza
Mensajes: 63
Antigüedad: 20 años, 7 meses
Puntos: 0
cambiando la consulta a lo siguiente:
"SELECT TOP 1 ruta from imagenes"
si que funciona, muestra el primer registro, asi que el rand() o está mal escrito o tengo que poner algo más en la tabla. . .
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 14:19.