Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Mostrar los últimos dos registros de un cliente que cumplen una condición

Estas en el tema de Mostrar los últimos dos registros de un cliente que cumplen una condición en el foro de SQL Server en Foros del Web. Buenas tardes, soy nuevo en el foro. Estoy haciendo una consulta en la que quiero que me aparezcan los dos últimos movimientos de cada cliente ...
  #1 (permalink)  
Antiguo 04/11/2014, 11:55
 
Fecha de Ingreso: noviembre-2014
Mensajes: 2
Antigüedad: 9 años, 5 meses
Puntos: 0
Mostrar los últimos dos registros de un cliente que cumplen una condición

Buenas tardes, soy nuevo en el foro. Estoy haciendo una consulta en la que quiero que me aparezcan los dos últimos movimientos de cada cliente que cumplen una condición específica. Tengo el siguiente código:
Código SQL:
Ver original
  1. SELECT TOP (100) PERCENT Empresa, AñoLectura, BimLectura, CodAbonado, FechaLectura, Señal
  2. FROM dbo.LECTURAS
  3. WHERE Empresa = 1 AND AñoLectura = 2014 AND Señal = 'E'
  4. ORDER BY CodAbonado, FechaLectura

Con este códgio muestro todos los movimientos del cliente que cumplen las condiciones especificadas pero necesito que sólo salgan los dos últimos.
Agradecería si me podéis ayudar.

Última edición por gnzsoloyo; 04/11/2014 a las 12:11
  #2 (permalink)  
Antiguo 04/11/2014, 11:59
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Mostrar los últimos dos registros de un cliente que cumplen una condición

Código SQL:
Ver original
  1. SELECT TOP 2 Empresa, AñoLectura, BimLectura, CodAbonado, FechaLectura, Señal
  2. FROM dbo.LECTURAS
  3. WHERE Empresa = 1 AND AñoLectura = 2014 AND Señal = 'E'
  4. ORDER BY CodAbonado, FechaLectura

Eso no sirve?? porque el top percent???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 05/11/2014, 01:42
 
Fecha de Ingreso: noviembre-2014
Mensajes: 2
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Mostrar los últimos dos registros de un cliente que cumplen una condición

Gracias por contestar, con el código que me indicas sólo se muestran dos registros. Yo necesito que se muestren los dos últimos registros de cada cliente. Se trata de una tabla donde se guardan lecturas de contadores y lo que quiero obtener es aquellos clientes que llevan dos periodos consecutivos con lectura estimada ("E" del campo señal) para regularizar la situación.
  #4 (permalink)  
Antiguo 05/11/2014, 08:55
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Mostrar los últimos dos registros de un cliente que cumplen una condición

un ejemplo de tus datos(y con datos me refiero al contenido de tus tablas no a la estructura) ayudaria mucho, porque creo que lo que quieres hacer lo puedes lograr con un row_number() over (partition)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 05/11/2014, 12:07
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Mostrar los últimos dos registros de un cliente que cumplen una condición

Dependiendo de la versión que tenga de SQL Server.........
__________________
MCTS Isaias Islas

Etiquetas: cliente, condición, registros, select, siguiente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:20.