SQL Server - Obtener la ultima fila de una consulta

 
Vista:

Obtener la ultima fila de una consulta

Publicado por Spyder (3 intervenciones) el 17/04/2007 19:22:39
Predeterminado Obtener la ultima fila de una consulta
tengo un pequeño problemilla para selecionar la ultima de una tabla con una condicion. Tengo la siguiente consulta:
select top 1 [DISTRIBUIDOR / CLIENTE] from Control_tarjetas
where tarjeta=@tarjeta
order by fecha desc

@tarjeta es un nombre de tarjeta.

Total que hace la consulta, pero cuando selecciona (antes del top) varias filas de esa tarjeta y la fecha, las ordena ascendente y claro cuando llega hacer el top coje la 1ª fila de ese dia y no la ultima como a mi me interesa.
Tendria que hacer alguna subconsulta y reinvertir el orden de esa primera consulta pero no se por donde meterla.

Salu2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Obtener la ultima fila de una consulta

Publicado por Isaías (3308 intervenciones) el 17/04/2007 21:22:04
No comprendo muy bien, con la instruccion ORDER BY col DESC, debe darte la ULTIMA fila del conjunto en cuestion.

¿Puedes postear que te da y que quisieras obtener?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener la ultima fila de una consulta

Publicado por Spyder (3 intervenciones) el 18/04/2007 10:36:03
Ok. Esta consulta me funciona cuando solo hay un registro por dia, ya que no tengo la hora, solo la fecha. Cuando hay varios registros de ese mismo dia me coje el 1º que encuentra de ese dia y no el ultimo.

Me da esto sin el top:
Carlos Jaimes 2007-04-06 00:00:00.000
Dora (Giros Sur) 2007-04-06 00:00:00.000
Maria (Quinche) 2007-04-06 00:00:00.000

Cuando el top 1 sobre eso, coje
Carlos Jaimes 2007-04-06 00:00:00.000
y lo que a mi me interesa es cojer
Maria (Quinche) 2007-04-06 00:00:00.000

Gracias por tu interes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener la ultima fila de una consulta

Publicado por Spyder (3 intervenciones) el 18/04/2007 10:44:14
A ver parece que lo he conseguido o por lo menos se puede acercar mucho, la consulta es la siguiente:
select * from Control_tarjetas
where Codigo=(select top 1 MAX(Codigo) from Control_tarjetas
where tarjeta like 'Azul%'
group by fecha
order by fecha desc)

La subconsulta obtiene el mayor codigo que ha de esa fecha la cual esta ordenanda descendente
Y la de nivel superior coge toda la informacion de esa fila. Tiene mucho sentido??

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener la ultima fila de una consulta

Publicado por Isaías (3308 intervenciones) el 18/04/2007 20:29:17
Spyder

TODO tienes mas sentido si nos informas con que campos contamos para su query, ¿De donde salio CODIGO?.

Si nos das TODA la informacion necesaria, seguramente, nuestros comentarios se hacercaran mas a la realidad.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar