Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/07/2013, 11:04
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: traer la ultima y penultima fecha

Hola gerardo_goh:

Tu consulta no es tan trivial como para sacarse en un SELECT simple... en realidad tienes varias alternativas, pero la que se me ocurre que mejor se adecua a tu problema es la de simular la función ROW_NUM... checa esta liga:

http://www.artfulsoftware.com/infotr...ip.php?id=1098

Observa que con esta técnica se van enumerando los registros para cada valor de la variable i, de tal manera que al final podrías colocar una condición

Código:
...
WHERE row_number <= 2
para que te presente sólo los últimos dos registros...

Sería muy sencillo colocar la consulta final, pero me gustaría que practicaras un poco este tipo de consultas, ya que en realidad son bastante útiles.

Algunos tips... En la subconsulta, en lugar de poner

Código:
...
FROM test 
  ORDER BY i,j
tu pondrías algo como esto:

Código:
...
FROM (
     SELECT * FROM tabla_c
     UNION ALL
     SELECT * FROM tabla_b
     UNION ALL
     SELECT * FROM tabla_a
  ) T ORDER BY cliente, fecha DESC
es decir, la unión de todas tus tablas, ordenando tus datos por los dos campos que te interesan: CLIENTE y FECHA

El resto es sustituir tus campos... en lugar de comparar contra el campo i, tú compararías contra el campo T.cliente, incluyendo en el SELECT interno, todos los campos que te interesan...

Haz la prueba y si continuas con problemas, postea algo de lo que intentaste hacer y con gusto te ayudo a afinar la consulta.

Saludos
Leo.