Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/07/2011, 19:09
nanitoz
 
Fecha de Ingreso: noviembre-2008
Mensajes: 84
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Optimizar Consulta SQL

Eso está claro ^^, seguro no me hice entender...quiero ordenar VARIAS tablas con diferentes campos y que solo tienen en común un ID y una FECHA...individualmente no hay problemas en limitar los registros.

la cosa es que si limito a X registros cada TABLA, no me serviría, ya que un Usuario puede tener los X registros sólo de él y luego para otro usuario en la misma tabla no lo tomaría en cuenta ya que se llegó al limite de X registros.

Hagamos un ejemplo:
Tabla1->UID,direccion_foto,descripcion,visitas,FECHA
Tabla2->UID,direccion_video,descripcion,FECHA
Tabla3->UID,entrada_blog,comentario,FECHA
Tabla4->UID,grupo_participa,FECHA

Quiero hacer un LIMIT Global de esas 4 tablas por ejemplo, de varios usuarios (UID) ordenados por FECHA...claro tomando los registros de cada tabla y almacenandolos en un Array ya ordenados al final...

Por eso limitar cada tabla, no es una opción.

Estoy pensando en usar expresiones regulares, para sacar el ULTIMO REGISTRO de Cada usuario en las tablas que necesito...haciendo mas o menos esto, ya sería en PHP:

for($var=1;$var<30;$var++)
{//suponiendo que quiero limitar a 30 registros de TODOS los usuarios
SELECT * FROM tabla WHERE uid=$uid ORDER BY fecha LIMIT 0,$var
{...}
SELECT * FROM tabla2 WHERE uid=$uid ORDER BY fecha LIMIT 0,$var
{... }
SELECT * FROM tabla3 WHERE uid=$uid ORDER BY fecha LIMIT 0,$var
{... }
//y las tablas que necesite...
}

No recuerdo bien el LIMIT si era 0,$var o $var,0...solo estoy pensando de esa manera puedo hacer lo que quiero =)

Qué me decís?...estaré intentando hacerlo de esta manera,aclaro el $uid también iría cambiando dependiendo de los amigos que tenga el usuario cliente.