border
VB 6
 
 

Retroceder   VB-MUNDO - Programacion Visual > Bases de Datos & XML > Lenguaje SQL
Olvidó Password? Registrarse!
Registrarse FAQDonate Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
LinkBack Herramientas
  #1 (permalink)  
Antiguo 28-02-2008, 09:34:26
Avatar de Scherzo
Gran Participación en el Foro
 
Registrado: may 2006
Posts: 473
Créditos: 2.573
Scherzo Valoración +2
Predeterminado Obtener el registro con fecha más reciente de cada Solicitud

Buenas, lo primero presentarme en el foro de SQL, ya que aunque he participado en los de programación .NET es mi primer mensaje en éste. Soy programador y como la mayoría de nosotros nos hemos visto en la necesidad de usar bases de datos. Hasta hace poco siempre he dispuesto de alguna persona experta que se encargaba de ayudarme al hacer las consultas más complejas con las que me iba encontrando, pero ahora me toca ir en solitario, y poco a poco voy aprendiendo, pero todavía me queda mucho terreno por recorrer en el mundo del SQL.

Bueno, os cuento la situación en la que me encuentro y que no soy capaz de resolver, a ver si me pudiérais dar alguna pista de por dónde puedo seguir.

Tengo una tabla que almacena comentarios que, simplificando a los campos que me interesan, tiene la siguiente estructura:

IDSolicitud, FechaComentario

La idea es que unas determinada solicitud de información puede tener múltiples comentarios asociados, cada uno de los cuales queda marcado con la fecha del momento en que se registra dicho comentario y la solicitud a la que está asociado. Por lo tanto podemos tener por ejemplo algo así:

Código:
1, 2008-02-01 19:00:00
1, 2008-02-04 17:34:00
1, 2008-02-09 22:04:00
2, 2007-10-12 06:07:00
3, 2008-02-20 14:55:00
3, 2008-02-20 18:15:00
...
Es decir, un histórico de los diferentes comentarios asociados a cada una de las solicitudes (algunas tendrán sólo 1 comentario, otras tendrán varios).

Bien, el caso es que necesitaría poder hacer una consulta que me devuelva SÓLO el último comentario (el de fecha más reciente) de cada una de las solicitudes. En el ejemplo anterior nos devolvería:

Código:
1, 2008-02-09 22:04:00
2, 2007-10-12 06:07:00
3, 2008-02-20 18:15:00
...
¿Alguna pista de cómo podría realizar esta consulta?

Lo único que he conseguido obtener es que me devuelva el comentario con la fecha más actual pero de TODA la tabla (es decir, me devuelve un único registro, no uno por cada solicitud).

Si no me he sabido explicar, hacédmelo saber, que intento aclarar lo que haga falta. Llevo intentando hacer esta consulta dos días y creo que me voy a volver loco a este paso, jeje. Posiblemente sea una consulta sencilla y frecuente, pero se me escapa.

Saludos y muchas gracias de antemano, cualquier ayuda, por pequeña que sea, será más que bienvenida.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #2 (permalink)  
Antiguo 28-02-2008, 12:47:52
Avatar de acalanto
Administrador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 6.219
Créditos: 52.511
acalanto ha deshabilitado la reputación
Predeterminado

Puedes probar lo siguiente

SELECT idSolicitud, Last(FechaComentario) FROM <nombre_tabla> GROUP BY idSolicitud ORDER BY idSolicitud, Last(FechaComentario)
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Leer detalladamente las normas del foro es una buena forma de comenzar a participar en él. Te llevará unos pocos minutos y el colectivo de usuarios te lo agradecerá. <si no las has leído sigue este enlace>
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #3 (permalink)  
Antiguo 04-03-2008, 16:22:28
Avatar de Scherzo
Gran Participación en el Foro
 
Registrado: may 2006
Posts: 473
Créditos: 2.573
Scherzo Valoración +2
Predeterminado

Hola gracias por la respuesta, pero cuando he intentado probarla me ha dado error en la función "Last()", me dice que no es una función reconocida. No sé si estoy haciendo algo mal. Por si sirve de referencia, estoy usando un SQL Server 2000. ¿Puede ser que en este motor de BBDD no exista dicha función?, ¿quizá hay alguna otra equivalente?

Saludos
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #4 (permalink)  
Antiguo 04-03-2008, 18:41:21
Avatar de IIslas
Moderador
 
Registrado: ene 2004
Ubicación: México
Posts: 1.013
Créditos: 7.393
IIslas Valoración +2
Contactar con IIslas a través de MSN Send a message via Skype™ to IIslas
Predeterminado

Scherzo

Para eso existen 2 foros, SQL SERVER 2000 y SQL SERVER 2005, este foro es de SQL, a secas.

La solucion es:

SELECT IDSolicitud, MAX(FechaComentario)
FROM <TuTabla>
GROUP BY IDSolicitud
__________________
Ing. Isaías Islas González
MCP MCTS SQL Server 2008

Share what you know, learn what you don't
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #5 (permalink)  
Antiguo 04-04-2008, 20:57:03
Nuevo Amigo
 
Registrado: jul 2005
Posts: 7
Créditos: 320
argom Valoración +2
Contactar con argom a través de MSN
Predeterminado Re: Obtener el registro con fecha más reciente de cada Solicitud

Select Top 1 Id From Facturacion Order By Id Desc

Así es la manera Top es hasta que cantidad deseas que te muestre la cantidad de filas.
Espero que sirva saludos.
__________________
Sergio
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
Respuesta


Herramientas

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
TENER CAMPO REG, DONDE VEA EL NRO DE CADA REGISTRO? PABER Lenguaje SQL 0 02-08-2007 15:37:51
Obtener registro de Tabla chlsaul Visual Basic 6.00 5 26-01-2007 18:58:36
Obtener la fecha del sistema cluster28 Visual Basic 6.00 3 26-12-2006 22:00:02
Obtener la fecha del sistema sinonimo Lenguaje SQL 2 17-09-2004 00:00:00
Obtener FECHA del servidor mimente Visual Basic 6.00 8 10-03-1970 20:25:39


La franja horaria es GMT. Ahora son las 17:14:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
© VB-MUNDO CO. Todos los derechos reservados
Tutoriales Premium | Juegos Online 


right

Programacion, vb 6, visual basic, foro programacion

Inactive Reminders By Icora Web Design