Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/07/2008, 06:18
BRiLo
 
Fecha de Ingreso: julio-2008
Mensajes: 6
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Traer ultimos registros de una tabla "relacionada" con otra tabla.

Cita:
Iniciado por jurena Ver Mensaje
Creo que te falta una tabla, la de usuarios, porque un amigo de usuario será también un usuario. Creo que necesitas esa tabla en la que id_usuario será PK. Lo que tienes te obligará a indexar id_usuario e id_amigo de la tabla amigos, y creo que la otra será una estructura más eficaz, aunque te obligue a realizar otro cruce. No obstante, te pondré lo que yo haría con lo que tienes.

Si buscamos las fotos últimas de los amigos del usuario con id_usuario 5.

SELECT a.id_amigo, T1.foto, T1.fechafoto FROM amigos a INNER JOIN (SELECT f.id_usuario, MAX(f.fecha) as fechafoto, f.foto AS foto FROM fotos f GROUP BY id_usuario) AS T1 ON a.id_amigo = f.id_usuario WHERE a.id_usuario = 5

No lo he probado
Cierto, olvidé mencionar la tabla usuario y los datos que necesito traer de cada una.

La tabla usuarios estaría conformada de la siguiente manera:

id - usuario - clave - mail - fecha_registro - ultimo_login

Los datos que yo necesito traer son:

El ULTIMO ID y fecha de cada amigo de la tabla fotos con su respectivo nombre de usuario sacado de la tabla usuarios ordenado por la fecha de la foto y no por el orden en el que estan en la tabla amigos.

P/S: probé eso que me pasaste y no funcionó. Intenté hacerle algunas modificaciones y tampoco me dió resultado. Todavía no entiendo bien todo esto de los JOINS :(