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

Varias tablas a la vez

Estas en el tema de Varias tablas a la vez en el foro de Mysql en Foros del Web. ¿Se podría hacer un mysql_query utilizando varias tablas?. Me explico: Yo quisiera hacer un random, pero el problema es que tengo varias tablas. Se podría ...
  #1 (permalink)  
Antiguo 06/05/2008, 13:36
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años
Puntos: 7
Pregunta Varias tablas a la vez

¿Se podría hacer un mysql_query utilizando varias tablas?.
Me explico:

Yo quisiera hacer un random, pero el problema es que tengo varias tablas. Se podría hacer un

$result=mysql_query("SELECT * FROM AQUÍ VARIAS TABLAS ORDER BY rand() LIMIT 1");
$row = mysql_fetch_row($result);

echo "<hr />" . $row[1] . "<br />"; // Nombre
echo $row[2]; // Chiste

...Y donde pone AQUÍ VARIAS TABLAS, poner "X" tablas.
  #2 (permalink)  
Antiguo 07/05/2008, 01:10
Avatar de SUSMO  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 188
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Varias tablas a la vez

Si, dentro de un mysql_query puedes ejecutar la query que quieras.

Saludos,
  #3 (permalink)  
Antiguo 07/05/2008, 01:10
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años
Puntos: 574
Re: Varias tablas a la vez

La estructura de campos de las tablas son iguales o similares? En ese caso se pueden unir con UNION ALL.

Select campo1, campo2 from tabla1
UNION ALL
Select campo1, campo2 from tabla2
UNION ALL
Select campo1, campo2 from tabla3
....
ORDER BY rand() LIMIT 1


Otro truco seria hacer un random sobre una tabla con los nombres de las tablas y una vez obtenido el nombre de la tabla hacer el random sobre esta. Esto funcionaria si el numero de registros de las tablas es similar, si hay mucha diferencia incrementaria las posibilidades de los registros de las tabla pequeñas...

Quim
  #4 (permalink)  
Antiguo 07/05/2008, 07:13
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años
Puntos: 7
De acuerdo Gracias :-)

GRACIAS, no tenía ni idea de eso de UNION ALL

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 03:29.