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.