Consultar la máxima fecha y todos los campos

Tengo una tabla con la siguiente información:
Nro Fecha Cuota1 Cuota2
1 01/05/2003 0 2
1 01/06/2004 1 0
1 01/12/2004 2 1
2 15/02/2003 1 1
2 13/07/2004 2 0
La tabla es muchísimo más extensa, ¿lo qué necesito es un query que me traiga todos los campos de la tabla y la máxima fecha de cada campo Nro. Es posible hacerlo en un solo query? Yo hice un subquery donde solo me traigo la máxima fecha y el Nro y un query principal para traer todos los campos pero es muy lenta la consulta.
Respuesta
1
Me parece que la respuesta es sencilla ... o no entendí bien ..
Select Nro, Max(Fecha)
from tabla
group by Nro;
¿Será?
Diego.
Si es. No te olvides de cerrar la pregunta.
Entiendo lo que propones, pero la consulta tiene más campos que son diferentes, por ejemplo en campo Cuota1 y Cuota2 que te coloqué en el ejemplo. Si agregaras al query que hiciste estos campos, te traería nuevamente toda la tabla y es no es lo que se necesita, quiero todos los campos de la máxima fecha de cada registro.
¿Cuál es el id?
Mira, la tabla en cuestión es una tabla de control de vacaciones. Un trabajador puede salir de vacaciones muchas veces en el tiempo que tenga laborando en la empresa y lo que yo necesito es traerme la última fecha de la vacación, pero también debo tomar en cuenta el campo cuotas al regreso de la vacación. Este campo puede variar de vacación en vacación.
Por eso te puse este ejemplo:
Nro Fecha Cuota1
1 01/05/2003 0
1 01/06/2004 1
1 01/12/2004 2
2 15/02/2003 1
2 13/07/2004 2 .
El id es un campo autoincremental, no consideré importante colocarlo en el ejemplo.
Me parece que la opción del subquery es la apropiada. A lo mejor te ayudo a afinarlo.
¿Utilizar Exists?
¿Exists? ¿Cómo me puede ayudar este comando a mejorar el query?, ¿No entiendo?
Disculpa la demora en mi respuesta (A estas alturas ya te debes haber olvidado que alguna vez hicimos todo este rollo de conversación)
¿Ya averiguaste los beneficios del EXISTS?
EXISTS en muchísimo más optimo que IN porque realiza un Sub-select el cual es más optimo que un SCAN en una lista generada por un select.
Basta que el el SubSelect devuelva 1 o más registros para que se dé por válido. Mientras que el el IN los datos se levantan y luego se hace un SCAN.
Así de simple.
Muy amable en no olvidar el caso (como otros expeertos que anulan la pregunta y ya). Resolví con otra cosa, pero veré la ayuda del exist a ver como me puede ayudar en un futuro.
Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas