• Domingo 22 de Diciembre de 2024, 19:46

Autor Tema:  Consulta sobre consulta en orden aleatorio  (Leído 1530 veces)

pedroqv

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Consulta sobre consulta en orden aleatorio
« en: Viernes 18 de Diciembre de 2009, 19:22 »
0
Tengo que hacer una consulta a una tabla que me devuelva 10 filas aleatoriamente.
Código: SQL
  1.  
  2. SELECT * FROM pregunta ORDER BY rand() LIMIT 1,10
  3.  
  4.  

Bajo el resultado de esa consulta tengo que realizar un inner join con otra consulta para que me devuelva de cada fila anterior sus referencias de acuerdo a la clave. Escogiendo todas las filas y luego haciendo el innerjoin seria:
Código: SQL
  1.  
  2. SELECT * FROM pregunta p INNER JOIN (SELECT * FROM respuesta ) AS resp ON p.id=resp.id
  3.  
  4.  

El problema es que no puedo decirle a la primera consulta que me seleccione aleatoriamente 10 porque la instruccion order by se debe poner al final de la consulta y si hago eso me va seleccionar al azar 10 del total y eso no seria correcto yaque para cada pregunta talvez no ponga todas las respuestas.

No funciona, como le prodria hacer
Código: SQL
  1.  
  2. SELECT * FROM pregunta p ORDER BY rand() LIMIT 1,10 INNER JOIN (SELECT * FROM respuesta ) AS resp ON p.id=resp.id
  3.  
  4.