• Lunes 18 de Noviembre de 2024, 16:24

Autor Tema:  Ultimo Registro De Una Consulta  (Leído 15771 veces)

solcito

  • Miembro MUY activo
  • ***
  • Mensajes: 143
    • Ver Perfil
Ultimo Registro De Una Consulta
« en: Miércoles 16 de Febrero de 2005, 21:15 »
0
Hola gente necesito ayuda urgente!

El tema es el siguiente:

Hago un SELECT con dos condiciones, esta consulta me devuelve varios registros ya que varios cumplen con las condiciones (WHERE) pero yo quiero el ultimo registro de la base de datos que cumple con esas condiciones.

como lo hago??

se que existen funciones globales como Last, pero no se como usarla!!
Everything that has a beginning has an end.....

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Ultimo Registro De Una Consulta
« Respuesta #1 en: Miércoles 16 de Febrero de 2005, 21:23 »
0
Pregunta?
Los tienes acomodados por ID?
Podrias colocar la sentencia para ayudarte mejor
El pasado son solo recuerdos, el futuro son solo sueños

solcito

  • Miembro MUY activo
  • ***
  • Mensajes: 143
    • Ver Perfil
Re: Ultimo Registro De Una Consulta
« Respuesta #2 en: Miércoles 16 de Febrero de 2005, 21:43 »
0
Citar

"SELECT IdPersona, FechaInicio, HoraEntrada, HoraSalida, FechaFin, IdHorario From HORARIOS_AGENTES " & _
              "WHERE HORARIOS_AGENTES.FechaFin Is Null " & _
              "AND IdPersona = " & Id

si los tengo acomodados por Id, en este caso necesito IdHorario Maximo

la consulta esta en " " porq esta implementada en Visual
Everything that has a beginning has an end.....

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Ultimo Registro De Una Consulta
« Respuesta #3 en: Miércoles 16 de Febrero de 2005, 21:51 »
0
Bueno podias haberla colocado en VB, ahi te la darian como es.

<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]SELECT[/color] IdPersona, FechaInicio, HoraEntrada, HoraSalida, FechaFin, IdHorario From HORARIOS_AGENTES WHERE FechaFin Is Null AND IdPersona = Id <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
Cita de: "solcito"
si los tengo acomodados por Id
El Id de un Usuario es unico no puede soltarte mas registros.
Realmente no le encuentro problema
El pasado son solo recuerdos, el futuro son solo sueños

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ultimo Registro De Una Consulta
« Respuesta #4 en: Miércoles 16 de Febrero de 2005, 22:13 »
0
para obtener el ultimo registro que cumple la condicion es necesario ordenar  la consulta en orden descendente (de ultimo a primero) y decri que solo nos traiga el primer registro que resulte de dicha consulta.

<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]SELECT[/color]
  ROWNUM NUM,
  tab_CODIGO,
  tab_NOMBRE,
  tab_DESCRIPCION
FROM tabla WHERE tab_CODIGO >= 200 AND tab_CODIGO <300 and rownum=1  
ORDER BY tab_CODIGO DESC <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

solcito

  • Miembro MUY activo
  • ***
  • Mensajes: 143
    • Ver Perfil
Re: Ultimo Registro De Una Consulta
« Respuesta #5 en: Miércoles 16 de Febrero de 2005, 22:15 »
0
En mi tabla Horarios_Agentes mi Id es IdHorario, obviamente ese es unico

TABLA Horarios_Agentes:

IdHorario , FechaInicio, FechaFin, IdPersona, HoraEntrada, HoraSalida
     1           12/02/04       NULL          1            16.30          19.30
     2           12/05/04       NULL          1            16.30          20.30


Suponiendo que el Id = 1

con la consulta q yo te mostre antes, me traeria los dos registros, pero solo necesito el ultimo.

pero me va a traer los dos ya que los dos cumplen la condicion de que FechaFin es NULL y IdPersona = Id

como haria para traer el ultimo??
Everything that has a beginning has an end.....

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Ultimo Registro De Una Consulta
« Respuesta #6 en: Miércoles 16 de Febrero de 2005, 22:18 »
0
Cita de: "solcito"
como haria para traer el ultimo??

con el rownum=1
Por algo no doy una, 'tonces seria asi

<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]SELECT[/color] IdPersona,
FechaInicio,
HoraEntrada,
HoraSalida,
FechaFin,
IdHorario
from HORARIOS_AGENTES WHERE FechaFin Is Null AND IdPersona = Id and rownum=1
ORDER BY IdHorario DESC <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
El pasado son solo recuerdos, el futuro son solo sueños

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Ultimo Registro De Una Consulta
« Respuesta #7 en: Miércoles 16 de Febrero de 2005, 22:33 »
0
si asi es.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

solcito

  • Miembro MUY activo
  • ***
  • Mensajes: 143
    • Ver Perfil
Re: Ultimo Registro De Una Consulta
« Respuesta #8 en: Miércoles 16 de Febrero de 2005, 22:38 »
0
Me salta el siguiente error : "El nombre de la columna 'rownum' no es valido"

:(
Everything that has a beginning has an end.....

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Ultimo Registro De Una Consulta
« Respuesta #9 en: Miércoles 16 de Febrero de 2005, 23:08 »
0
Mira este post en VB Busqueda.
A ver en lo del problema ay si no se incluso lo pregunte a JuanK y me dice que puede haber problemas con la DB, osea, ay si no sabo.
El pasado son solo recuerdos, el futuro son solo sueños

solcito

  • Miembro MUY activo
  • ***
  • Mensajes: 143
    • Ver Perfil
Re: Ultimo Registro De Una Consulta
« Respuesta #10 en: Miércoles 16 de Febrero de 2005, 23:16 »
0
estuve leyendo y rownum es una pseudocolumna utilizada en oracle, pero no en SQL

No se que hacerrrrr :(
Everything that has a beginning has an end.....

solcito

  • Miembro MUY activo
  • ***
  • Mensajes: 143
    • Ver Perfil
Re: Ultimo Registro De Una Consulta
« Respuesta #11 en: Miércoles 16 de Febrero de 2005, 23:22 »
0
Ya lo resolviii!!!!!!!!!!!!! jejeje , pongo la sentencia por si a alguien le sirve!!


Citar

SELECT TOP 1 IdPersona, FechaInicio, HoraEntrada, HoraSalida, FechaFin, IdHorario From HORARIOS_AGENTES
WHERE HORARIOS_AGENTES.FechaFin Is Null " & _
AND IdPersona = <pasado por parametro>               
ORDER BY IdHorario DESC



GRACIAS Radical y JuanK por ayudarme !!!!!  :hola:


Ahora soy Feliz  :comp:
Everything that has a beginning has an end.....