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

Recoger el campo nick que corresponda a la fecha mas reciente

Estas en el tema de Recoger el campo nick que corresponda a la fecha mas reciente en el foro de Mysql en Foros del Web. Muy buenas, tengo esta consulta a mysql : @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original SELECT t.id , t.t_autor , t.t_titulo AS 'titulo _ tema' , ...
  #1 (permalink)  
Antiguo 01/04/2011, 09:29
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 16 años
Puntos: 3
Recoger el campo nick que corresponda a la fecha mas reciente

Muy buenas, tengo esta consulta a mysql :

Código MySQL:
Ver original
  1. SELECT t.id, t.t_autor, t.t_titulo AS 'titulo_tema', t.t_fecha,
  2.  
  3. if(m.m_fecha != '', MAX(GREATEST(t.t_fecha , m.m_fecha)), t.t_fecha) AS 'fecha_ultimo_mensaje',
  4. m.m_autor AS 'autor_ultimo_mensaje'
  5.  
  6. FROM fm f
  7. f_temas t
  8. ON t.f_id = f.id
  9.  
  10. LEFT JOIN                  
  11. f_mensajes m
  12. ON m.t_id = t.id
  13.                            
  14. WHERE f.id = '3'
  15. GROUP BY t.id ORDER BY fecha_ultimo_mensaje DESC

Funciona ok salvo por una cosa: El nick que recoge en "autor_ultimo_mensaje" es el primero que encuentra. Mi pregunta es como podria hacer para que cogiera el nick que coincide en la fila del resultado "fecha_ultimo_mensaje" el cual este ultimo dato que recoge es correcto.
Dicho de otra forma: Necesito recoger en "autor_ultimo_mensaje" el nick que pertenece a la fila con la fecha mas reciente, la cual se recoge correctamente en
"fecha_ultimo_mensaje".

Muchas gracias
  #2 (permalink)  
Antiguo 01/04/2011, 11:01
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 16 años
Puntos: 3
Respuesta: Recoger el campo nick que corresponda a la fecha mas reciente

Vereis estoy intentando hacerlo de la siguiente forma, no se si voy por el camino correcto pero estoy intentando así:

if(MAX(m.m_fecha), m.m_autor , 0) AS 'autor_ultimo_m'

Vamos la idea es que me cogiera el nick de la fila con la fecha más alta. A ver si alguien me lo aclara. Gracias.
  #3 (permalink)  
Antiguo 01/04/2011, 15:44
Avatar de andrexsos17  
Fecha de Ingreso: enero-2011
Ubicación: Manizales
Mensajes: 169
Antigüedad: 13 años, 3 meses
Puntos: 15
Respuesta: Recoger el campo nick que corresponda a la fecha mas reciente

Código SQL:
Ver original
  1. SELECT  nick FROM tabla WHERE fecha=(SELECT MAX(fecha) FROM tabla)

Creo que esto te puede servir.
  #4 (permalink)  
Antiguo 02/04/2011, 11:30
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 16 años
Puntos: 3
Respuesta: Recoger el campo nick que corresponda a la fecha mas reciente

Muchas gracias por responder andrexsos17. Lo pruebo y comento como me ha ido. Saludos :)

Etiquetas: join
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 04:56.