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

Extraer la ultima fecha de una columna en SQL Server

Estas en el tema de Extraer la ultima fecha de una columna en SQL Server en el foro de Bases de Datos General en Foros del Web. Buen dia Tengo una tabla llamada Gestion que tiene 3 columnas: 1. Cedula 2. Respuesta 3. FechaGestion Esta tabla contiene registros de llamadas a personas ...
  #1 (permalink)  
Antiguo 21/03/2012, 14:46
 
Fecha de Ingreso: marzo-2012
Mensajes: 1
Antigüedad: 12 años, 8 meses
Puntos: 0
Extraer la ultima fecha de una columna en SQL Server

Buen dia

Tengo una tabla llamada Gestion que tiene 3 columnas:

1. Cedula
2. Respuesta
3. FechaGestion


Esta tabla contiene registros de llamadas a personas de un Call center. La cedula es de la persona que se llamo, la respuesta puede ser: Mensaje con tercero, No contactado, Al dia..etc, y la fecha es la fecha y hora en la que se realizo la llamada.
La fecha esta en tipo de formato FECHA:SmallDateTime.

Quisiera saber si se puede extraer de una cedula en particular la ultima respuesta que tuvo. Yo intenté hacer lo siguiente:

SELECT Respuesta
FROM Gestion
WHERE FechaGestion =
(Select MAX(FechaGestion)
From Gestion
Where Cedula = '123456789')

La subconsulta me arroja perfectamente la ultima fecha de esa cedula, por lo que me deberia pasar esa fecha a la clausura Where como condicion de FechaGestion.
Pero cuando ejecuto toda la consulta me arroja son todas las respuestas de esa cedula de todas las fecha.. como si no estubiera la clausura where..

Si alguien sabe porque no funciona o si se puede hacer de otra forma.. se lo agradeceria mucho..

Quedo atento a cualquier respuesta.

De antemano, Muchas Gracias por la colaboracion de todos...
  #2 (permalink)  
Antiguo 25/01/2013, 08:55
 
Fecha de Ingreso: marzo-2010
Ubicación: Lima
Mensajes: 31
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Extraer la ultima fecha de una columna en SQL Server

Hola como estas.
Hice una prueba con los datos que brindaste, y segun lo que vi tu consulta es correcta.
El problema es el siguiente:

En la subconsulta te muestra una sola fecha, porque le estas indicando que te muestre la maxima (Aunque exista 20 fechas iguales, te muestra 1 sola)

Select MAX(FechaGestion)
From Gestion
Where Cedula = '123456789'

Luego al realizar tu consulta completa

SELECT Respuesta
FROM Gestion
WHERE FechaGestion =
(Select MAX(FechaGestion)
From Gestion
Where Cedula = '123456789')

Le estas diciendo al SQL que te muestra la respuesta de la cedula 123456789
y como todas sus fechas son iguales te muestra todos sus mensajes

Por lo que vi ese era el problema
Espero te haya servido

Saludos

Etiquetas: sql, sqlserver2005, bases-de-datos, bases-de-datos, sql-server
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:27.