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

[SOLUCIONADO] SELECT múltiple de tablas no relacionadas

Estas en el tema de SELECT múltiple de tablas no relacionadas en el foro de Mysql en Foros del Web. Buenas noches... Llevo días intentando resolver una cuestión que me tiene intrigao... Quiero mostrar los últimos registro de varias tablas para ordenarlos del más nuevo ...
  #1 (permalink)  
Antiguo 11/02/2013, 15:52
Avatar de Tollelle  
Fecha de Ingreso: enero-2005
Mensajes: 64
Antigüedad: 19 años, 3 meses
Puntos: 0
Sonrisa SELECT múltiple de tablas no relacionadas

Buenas noches...

Llevo días intentando resolver una cuestión que me tiene intrigao...

Quiero mostrar los últimos registro de varias tablas para ordenarlos del más nuevo al más viejo. Lo que quiero hacer es una página dónde ver la última actividad en la página.

Por ejemplo, tengo 3 tablas:

calendario, entradas y perfiles, ninguna relacionada... ambas con un campto id, titulo, url y fecha.

Quiero mostrar paginados los registros de las 3 tablas ordenados por la fecha. Por ejemplo:

1 - Calendario - titulo tal - publicado el 05-01-2013
2 - Entrada - titulo cual - publicado el 04-01-2013
3 - Entrada - titulo pum pal - publciado el 03-01-2013
4 - Perfil - titulo eñe - publicado el 02-01-2013
5 - Calendario - titulo equis - publicado el 01-01-2013
...

y así sucesivamente y paginado..

El problema lo tengo que por más que le doy vueltas.. no veo la forma de sacarlo. Leo por todos lados y sé hacerlo con tablas relacionadas... pero tablas totalmente independientes no consigo ninguna info por la red al respecto :/

Mi intento ha sido construir una consulta mysql con php de este tipo y mostrar así los resultados:

Código MySQL:
Ver original
  1. SELECT calendario.titulo as tituloca, entradas.titulo as tituloen, perfiles.titulo as titulope
  2. FROM calendario,entradas,perfiles

Pero nada... ésto no tira nada... mentira... sí tira, pero el mismo título repetido las 50 veces :/

¿alguien podría echarme un cable?

Gracias de antemano.

Un saludo

Última edición por gnzsoloyo; 12/02/2013 a las 12:49 Razón: código de programacion no permitido
  #2 (permalink)  
Antiguo 11/02/2013, 18:19
 
Fecha de Ingreso: abril-2012
Ubicación: Salta
Mensajes: 16
Antigüedad: 12 años
Puntos: 0
Respuesta: SELECT múltiple de tablas no relacionadas

Tu consulta no se puede realizar sin poner claves foráneas, usar JOIN y usar el motor de MySQL InnoDB. Para solucionar tu problema vas a tener que realizar una consulta en cada tabla y a los resultados ordenarlos por fecha ascendente o descendente.

Saludos!
  #3 (permalink)  
Antiguo 12/02/2013, 11:56
Avatar de Tollelle  
Fecha de Ingreso: enero-2005
Mensajes: 64
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: SELECT múltiple de tablas no relacionadas

Ya encontré la solución :) estaba confundiendo términos y funciona con un simple UNION ALL

Código MySQL:
Ver original
  1. (SELECT titulo,url,id,fecha,'9' as tipo FROM tabla1)
  2. (SELECT titulo,url,id,fecha,tipo as tipo FROM tabla2)
  3. (SELECT titulo,url,id,fecha,'8' as tipo FROM tabla3)
  4. (SELECT titulo,url,id,fecha,'12' as tipo FROM tabla4)
  5. (SELECT nick as titulo,url,id,fecha,'0' as tipo FROM tabla5)
  6. (SELECT titulo,url,id,fecha,'11' as tipo FROM tabla6)
  7. (SELECT titulo,url,id,fecha,'10' as tipo FROM tabla7)
  8. ORDER BY fecha DESC LIMIT 500

Nótese el '10' as tipo para generar campos que no existen con valores por defecto y así identifico qué valor viene de qué tabla :)

Espero que les sirva.

Última edición por gnzsoloyo; 12/02/2013 a las 12:48 Razón: Mal etiquetado

Etiquetas: múltiple, php, registros, relacionadas, resultados, select, sql, tabla, tablas
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 13:14.