Pregunta

14/11/2006 - 19:52 por Anibal | Informe spam
Buenas estoy empezando con el SQL (tengo instalada la version Developer
2000) y quiero ver si alguien me puede dar una mano con la siguiente
consulta:

Tengo una tabla en donde almaceno los datos de las transacciones realizadas
con una tarjeta de proximidad que almacena dinero. Las transacciones se
generan al aproximar la tarjeta a un equipo propietario y luego se
incorporan a varias tablas en una base de datos de SQL Svr. Me han pedido
uno datos da una tabla. Los campos más importantes de la tabla, son los
siguientes:


TABLA TRANSACCIONES
*************************************
Nº de serie de la tarjeta
Tarifa
Valor remanente
Fecha y hora de la transacción

Debo obtener solamente la última transacción realizada con la tarjeta y su
valor remanente.

Alguien me podría dar una mano??

Gracias de antemano.

Preguntas similare

Leer las respuestas

#1 Victor Koch
14/11/2006 - 20:05 | Informe spam
Hola Anibal,

Esa puede ser una forma:

SELECT NumeroTrajeta,ValorRemanente FROM TRANSACCIONES
WHERE (NumeroTrajeta, FechayHora) IN (
SELECT NumeroTrajeta, MAX(FechayHora)
FROM TRANSACCIONES
GROUP BY NumeroTrajeta)

Un saludo, Víctor Koch.


"Anibal" escribió en el mensaje
news:
Buenas estoy empezando con el SQL (tengo instalada la version Developer
2000) y quiero ver si alguien me puede dar una mano con la siguiente
consulta:

Tengo una tabla en donde almaceno los datos de las transacciones


realizadas
con una tarjeta de proximidad que almacena dinero. Las transacciones se
generan al aproximar la tarjeta a un equipo propietario y luego se
incorporan a varias tablas en una base de datos de SQL Svr. Me han pedido
uno datos da una tabla. Los campos más importantes de la tabla, son los
siguientes:


TABLA TRANSACCIONES
*************************************
Nº de serie de la tarjeta
Tarifa
Valor remanente
Fecha y hora de la transacción

Debo obtener solamente la última transacción realizada con la tarjeta y su
valor remanente.

Alguien me podría dar una mano??

Gracias de antemano.


Respuesta Responder a este mensaje
#2 BitOne®
14/11/2006 - 20:14 | Informe spam
Hola Anibal:

Intenta:


select a.numero_serie,
a.fecha,
a.remanente
from tabla_de_transacciones a
inner join
(select max(fecha) fecha,
numero_serie
from tabla
group by numero_serie ) b
on a.numero_serie = b.numero_serie
and a.fecha = b.fecha

Saludos,

BitOne®

"Anibal" wrote in message
news:
Buenas estoy empezando con el SQL (tengo instalada la version Developer
2000) y quiero ver si alguien me puede dar una mano con la siguiente
consulta:

Tengo una tabla en donde almaceno los datos de las transacciones


realizadas
con una tarjeta de proximidad que almacena dinero. Las transacciones se
generan al aproximar la tarjeta a un equipo propietario y luego se
incorporan a varias tablas en una base de datos de SQL Svr. Me han pedido
uno datos da una tabla. Los campos más importantes de la tabla, son los
siguientes:


TABLA TRANSACCIONES
*************************************
Nº de serie de la tarjeta
Tarifa
Valor remanente
Fecha y hora de la transacción

Debo obtener solamente la última transacción realizada con la tarjeta y su
valor remanente.

Alguien me podría dar una mano??

Gracias de antemano.


Respuesta Responder a este mensaje
#3 Alejandro Mesa
14/11/2006 - 20:20 | Informe spam
Trata:

select a.*
from dbo.transacciones as a
inner join
(
select num_tarjeta, max(fecha) as max_fecha
from dbo.transacciones
group by num_tarjeta
) as b
on a.num_tarjeta = b.num_tarjeta and a.fecha = b.max_fecha
go

select *
from dbo.TRANSACCIONES as a
where fecha = (
select max(b.fecha)
from dbo.transacciones as b
where b.num_tarjeta = a.num_tarjeta
)
go

select a.*
from dbo.transacciones as a
where not exists (
select *
from dbo.transacciones as b
where b.num_tarjeta = a.num_tarjeta
and b.fecha > a.fecha
)
go


AMB

"Anibal" wrote:

Buenas estoy empezando con el SQL (tengo instalada la version Developer
2000) y quiero ver si alguien me puede dar una mano con la siguiente
consulta:

Tengo una tabla en donde almaceno los datos de las transacciones realizadas
con una tarjeta de proximidad que almacena dinero. Las transacciones se
generan al aproximar la tarjeta a un equipo propietario y luego se
incorporan a varias tablas en una base de datos de SQL Svr. Me han pedido
uno datos da una tabla. Los campos más importantes de la tabla, son los
siguientes:


TABLA TRANSACCIONES
*************************************
Nº de serie de la tarjeta
Tarifa
Valor remanente
Fecha y hora de la transacción

Debo obtener solamente la última transacción realizada con la tarjeta y su
valor remanente.

Alguien me podría dar una mano??

Gracias de antemano.



Respuesta Responder a este mensaje
#4 Anibal
15/11/2006 - 14:44 | Informe spam
Victor, BitOne® y Alejandro, les agradezco muchísimo sus respuestas, en
breve les comento como me fué.

saludos, Aníbal



"Anibal" escribió en el mensaje
news:
Buenas estoy empezando con el SQL (tengo instalada la version Developer
2000) y quiero ver si alguien me puede dar una mano con la siguiente
consulta:

Tengo una tabla en donde almaceno los datos de las transacciones
realizadas con una tarjeta de proximidad que almacena dinero. Las
transacciones se generan al aproximar la tarjeta a un equipo propietario y
luego se incorporan a varias tablas en una base de datos de SQL Svr. Me
han pedido uno datos da una tabla. Los campos más importantes de la tabla,
son los siguientes:


TABLA TRANSACCIONES
*************************************
Nº de serie de la tarjeta
Tarifa
Valor remanente
Fecha y hora de la transacción

Debo obtener solamente la última transacción realizada con la tarjeta y su
valor remanente.

Alguien me podría dar una mano??

Gracias de antemano.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida