Remplazar comando last

Buenas Tardes:
Tengo una tabla llamada HORAS con los campos (id, codigo, hora_inicial, hora_final, descuento, descuento_co, tiempo_total)
Realize esta consulta en access
SELECT codigo, last(fecha) AS fe, last(hora_inicial) AS HI, last(hora_final) AS HF,last(descuento) AS dcto, last(descuento_co) AS dcto_co, last(tiempo_total) AS TT
FROM HORAS
GROUP BY codigo
ORDER BY codigo
Esta misma consulta la quiero en sql server, pero me saca error debido a que el comando last no existe en sql server; podría reemplazar ese last por otro que no sea max, la consulta consiste en traer el ultimo registro que se ingreso de cada código, ya que no siempre el ultimo registro tiene los valores máximos.
Saludos desde Colombia

1 respuesta

Respuesta
1
Para el fin que buscas me parece que sería muy apropiado que indexes tu tabla, es decir que a tu tabla le agregues un capo indice que lleve el registro de los campos que ingresas. Este campo puede ser autoincrementable o lo puedes programar con un trigger o desde tu aplicación. Te recomiendo que sea desde el SQL para que no se pierda el indice por error de programación o de red en dado caso.
Suerte y saludos desde México
Buenas Noches:
Disculpa la tardanza, ya solucione mi problema mediante el siguiente código:
select codigo, fecha as fe, hora_inicial as hi, hora_final as hf, descuento as dcto, descuento_co as dcto_co, tiempo_total as tt
from horas
where id IN (select max(id) from horas group by codigo)
order by codigo;
El id lo tenia como autonimerico y eso ayudo a que el SQL fuera efectivo, aun así gracias por tu consejo, me sirvió de mucho.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas