Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Obtener fecha reciente con campos adicionales (https://www.clubdelphi.com/foros/showthread.php?t=78664)

antigrondona 08-05-2012 14:40:18

Obtener fecha reciente con campos adicionales
 
Hola a todos, estoy haciendo una consulta en sql server para obtener la fecha reciente, pero con ello necesito campos adicionales. La consulta seria sencilla:
Código SQL [-]
select max(fehca_ins) from AluCursos
allí no hay problema porque trae la fecha correcta. Pero, como necesito otros campos ademas de la fecha, allí empiezan los probelmas. Comencé por lo sencillo:
Código SQL [-]
select max(fehca_ins),cur_año,cur_div from AluCursos group by cur_año,cur_div
pero en lugar de traer la fecha reciente con los datos adicionales me trae todos los datos adicionales con sus respectivas fechas, en lugar de una fila varias.
Hay alguna forma sencilla de lograr esto? Estoy intentando hacerlo con consultas anidadas pero no logro resultados.
Gracias, espero sus respuestas.

Casimiro Notevi 08-05-2012 15:15:11

Recuerda poner los tags al código fuente, ejemplo:



Gracias :)

antigrondona 08-05-2012 15:20:44

Perdón, pensé que era solo para código delphi.

Casimiro Notevi 08-05-2012 15:25:18

De todas formas, creo que no he entendido bien tu problema, por ejemplo:

Código SQL [-]
select nombrecliente, max(fechacreacion)
from TBCLIENTES
group by nombrecliente

Devuelve todos los clientes con su fechacreacion, ¿no es algo similar lo que quieres hacer?





antigrondona 08-05-2012 15:59:25

Cita:

Empezado por Casimiro Notevi (Mensaje 432114)
De todas formas, creo que no he entendido bien tu problema, por ejemplo:

Código SQL [-]select nombrecliente, max(fechacreacion) from TBCLIENTES group by nombrecliente


Devuelve todos los clientes con su fechacreacion, ¿no es algo similar lo que quieres hacer?

No, necesito sólo la fecha mas reciente con sus datos, en tu ejemplo sería fechacreacion mas reciente con los datos solo de ese cliente.

Casimiro Notevi 08-05-2012 16:03:52

No, en mi ejemplo sí que devuelve todos los clientes.

antigrondona 08-05-2012 16:05:33

Cita:

Empezado por Casimiro Notevi (Mensaje 432121)
No, en mi ejemplo sí que devuelve todos los clientes.

Por eso, yo necesito solo el cliente más reciente.

Casimiro Notevi 08-05-2012 16:11:24

Te había entendido justo al revés, bueno, entonces así:

Código SQL [-]
select first 1 nombresociedad, fechacreacion
from TBCLIENTES
order by fechacreacion
desc

Deberás adaptarlo al lenguaje sql de tu base de datos. Creo que 'first' es 'top' en tu caso.

antigrondona 09-05-2012 13:17:02

Gracias, era justo lo que necesitaba, por si a alguien le sirve con asc en lugar de desc toma la fecha más ntigua.

Casimiro Notevi 09-05-2012 13:23:28

Cita:

Empezado por antigrondona (Mensaje 432210)
Gracias, era justo lo que necesitaba, por si a alguien le sirve con asc en lugar de desc toma la fecha más ntigua.

Claro, aunque no hace falta usar asc porque por defecto, si el índice es "normal", entonces será siempre ascendente.
Solamente, cuando se requiera, es necesario usar descendente, como en este caso.


La franja horaria es GMT +2. Ahora son las 17:01:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi