none
Obtenr el Ultimo Registro RRS feed

  • Pregunta

  •  

    Hola gente, he estado un poco asustente en esto pero me he topado con la necesidad de obtener el ultimo registro que tengo en un tabla, lo cual lo consigo con un INSERT INTO Mitabla VALUES Nombre,Apellidos,Edad, getdate() ; por citar un ejemplo; ahora lo que kiero es obtener el ultimo registro de Mitabla con el parametro Apellido para poder hacer una comparacion de este ultimo registro con otro; bueno en realidad la comparacion latengo que hacer con las fechas por eso el getdate() ya que kiero comparar creo que es on getdiff() sino alguien ayudeme devolver esa diferencia que no se como lo voy a hacer.

     

    Bueno disculpen por hacer dos preguntas en un mismo tema pero van ligadas a lo que quiero hacer.

    Les agradeceria por su ayuda.

    lunes, 22 de octubre de 2007 16:44

Respuestas

  • En una base de datos relacional NO EXISTE el "último registro". El servidor los guarda en el orden que le da la gana, no necesariamente en el orden en que los insertas, y no se guarda en ningún sitio dicho orden a no ser que lo guardes tú expresamente en un campo de la tabla (por ejemplo, usando un campo Identity).

     

    Lo que puedes obtener es el registro que tiene el máximo valor en un determinado campo. Por ejemplo, si guardas un getdate() en una columna, puedes extraer el registro que tiene la máxima fecha y hora asi:

     

    Select * from latabla where campofecha in (select max campofecha from latabla)

     

    o asi:

     

    Select TOP 1 * from laTabla order by campofecha DESC

     

    Pero si lo haces de esta segunda forma no detectas a situación en la que haya dado la casualidad de que existan dos registros con la misma fecha y hora.

     

     

    martes, 23 de octubre de 2007 11:20

Todas las respuestas

  • En una base de datos relacional NO EXISTE el "último registro". El servidor los guarda en el orden que le da la gana, no necesariamente en el orden en que los insertas, y no se guarda en ningún sitio dicho orden a no ser que lo guardes tú expresamente en un campo de la tabla (por ejemplo, usando un campo Identity).

     

    Lo que puedes obtener es el registro que tiene el máximo valor en un determinado campo. Por ejemplo, si guardas un getdate() en una columna, puedes extraer el registro que tiene la máxima fecha y hora asi:

     

    Select * from latabla where campofecha in (select max campofecha from latabla)

     

    o asi:

     

    Select TOP 1 * from laTabla order by campofecha DESC

     

    Pero si lo haces de esta segunda forma no detectas a situación en la que haya dado la casualidad de que existan dos registros con la misma fecha y hora.

     

     

    martes, 23 de octubre de 2007 11:20
  • Gracias por la respuesta me has despejado muchas dudas.

     

    saludos

     

    martes, 23 de octubre de 2007 18:13