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

Obtener ultimo movimiento de cliente

Estas en el tema de Obtener ultimo movimiento de cliente en el foro de SQL Server en Foros del Web. HOla, agredecería muchisimo su ayuda! Sucede que tengo una tabla de movimientos con la siguiente información: boleta sucursal estatus DTxn cvetxn 34223 24 9 2010-01-22 ...
  #1 (permalink)  
Antiguo 19/02/2010, 19:13
 
Fecha de Ingreso: diciembre-2009
Mensajes: 14
Antigüedad: 14 años, 11 meses
Puntos: 0
Exclamación Obtener ultimo movimiento de cliente

HOla, agredecería muchisimo su ayuda!

Sucede que tengo una tabla de movimientos con la siguiente información:

boleta sucursal estatus DTxn cvetxn
34223 24 9 2010-01-22 00:00:00.000 DE
34223 24 9 2009-12-29 00:00:00.000 RE
34223 24 9 2009-12-29 00:00:00.000 PC
34223 24 9 2009-12-28 00:00:00.000 TA
34223 24 9 2009-11-27 00:00:00.000 EM

Necesito que me traiga solamente el registro cuando en la ultima fecha tiene la cvetxn=TA.

Alguna idea de como obtenerla?, yo tengo los siguientes queries pero ninguno me trae lo que necesito y ya no se me ocurre algo más!

SELECT * FROM #MovBoletasCECL
WHERE cvetxn ='TA'
AND DTxn IN (SELECT MAX( DTxn)
FROM #MovBoletasCECL
WHERE cvetxn = 'TA')


SELECT * FROM #MovBoletasCECL
WHERE cvetxn ='TA'
AND DTxn IN (SELECT TOP 1 DTxn
FROM #MovBoletasCECL
WHERE cvetxn = 'TA')
  #2 (permalink)  
Antiguo 19/02/2010, 21:33
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 10 meses
Puntos: 7
Respuesta: Obtener ultimo movimiento de cliente

No estoy seguro de haber comprendido bien tu problema. Con el conjunto de datos que presentas, puesto que la última fecha es 2010-01-22 y los registros con esa fecha no son 'TA', entonces... ¿el resultado debe ser vacío?
Si ese es el caso, ya casi tienes tu solución:
Código:
SELECT    *
FROM    #MovBoletasCECL
WHERE    cvetxn ='TA'
AND        DTxn IN (
            SELECT    MAX(DTxn)
            FROM    #MovBoletasCECL
        )

Última edición por Beakdan; 19/02/2010 a las 21:34 Razón: Error con una fecha
  #3 (permalink)  
Antiguo 20/02/2010, 12:49
 
Fecha de Ingreso: diciembre-2009
Mensajes: 14
Antigüedad: 14 años, 11 meses
Puntos: 0
Exclamación Respuesta: Obtener ultimo movimiento de cliente

Hola! muchas gracias por tu ayuda... creo q no me explique bien, lo que necesito es que de una tabla que tiene los campos:
Boleta
sucursal
Estatus
FechaTxn
cvetxn

Obtener el registro con la Cve Txn ='TA' sólo cuando esta transacción sea la última que tiene registrada.

Lo siguiente es sólo una muestra de como esta la información, pero en algunos casos el movimiento más reciente es el q tiene cve_txn=TA, ese es el q que necesito.

boleta sucursal estatus DTxn cvetxn
34223 24 9 2010-01-22 DE
34223 24 9 2009-12-29 RE
34223 24 9 2009-12-29 PC
34223 24 9 2009-12-28 TA --Obtener el registro sólo cuando TA sea el último
34223 24 9 2009-11-27 EM
  #4 (permalink)  
Antiguo 21/02/2010, 00:47
Avatar de R3N0  
Fecha de Ingreso: febrero-2010
Mensajes: 13
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Obtener ultimo movimiento de cliente

hola, segun lo q entendi tu problema se podria solucionar asi:


DECLARE @cve VARCHAR(2)--supongo q este campo es de 2 caracteres maximo sino cambia la cantidad
DECLARE @fec datetime
SELECT top 1 @fec=FECHATNX,@cve=cvetxn FROM #MovBoletasCECL
order by FECHATNX desc

if (@cve)='TA'
begin
select * from #MovBoletasCECL
where FECHATNX=@fec
end
else
select 'no es clave TA'


si no es lo que necesitas con confianza me pues localizar en [email protected] y buscamos solucion a tu query


Saludos!!!
  #5 (permalink)  
Antiguo 22/02/2010, 17:59
 
Fecha de Ingreso: diciembre-2009
Mensajes: 14
Antigüedad: 14 años, 11 meses
Puntos: 0
Exclamación Respuesta: Obtener ultimo movimiento de cliente

Hola! muchisimas gracia por tu ayuda, aún no he podido resolverlo... sucede que no me arroja lo que deseo de esa forma, alguna otra idea?

Muchas gracias por la ayuda!
  #6 (permalink)  
Antiguo 23/02/2010, 21:10
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 10 meses
Puntos: 7
Respuesta: Obtener ultimo movimiento de cliente

Tal vez no has definido adecuadamente tu problema. Primero ¿qué estás considerando como el "último"?
Deducimos que es el registro
34223 24 9 2010-01-22 DE
porque es la última fecha. ¿quizá no es el último por fecha sino por posición?
El conjunto de datos que publicaste ¿es representativo? Para las reglas que especificas, me hace suponer que con el conjunto de datos publicados nada debe devolverse. Quizá debas publicar otro conjunto de datos y especificar la / las filas que deben devolverse.

Saludos

Etiquetas: cliente, movimiento, ultimo
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 09:17.