Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Obtener los ultimos registros de cada producto (https://www.clubdelphi.com/foros/showthread.php?t=68496)

ilichhernandez 16-06-2010 23:35:26

Obtener los ultimos registros de cada producto
 
Estimados, estoy trabajando en una aplicacion que mantiene envases( cajas bolsas de diversos tipos), mi tabla tiene los registro mas o menos asi.....

ID Fecha Transaccion Guia Producto Cantidad Saldo

1 10/5 ingreso 11 caja 10x10 100 100
2 11/5 ingreso 15 caja 10x10 200 300
3 12/5 egreso 19 caja 10x10 50 250
4 12/5 ingreso 25 bolsa 1x1 100 100

esa es la idea con n productos, digamos 20.... los ingresos y los egresos funcionan ok y no tengo problemas, pero necesito generar una consulta SQL para obtener los stock de cada producto, considerando que el ultimo registro de cada producto tiene el stock mi idea iria por tomar los ultimos registros de cada uno y ok, el tema es que no se como plasmar eso en SQL....he tratado con distinct pero no se si puedo obtener un select max(fecha) donde producto sea xxx .....agradeceria alguna idea al respecto.

Saludos y gracias.
Ilich.
(Trabajo con Delphi 7 y en este caso con Access com BD, ya se que no es una muy buena BD pero no se rian.....)

ilichhernandez 17-06-2010 16:29:48

He intentado varias cosas entre estas la siguiente :

select max(id) from ingresos where (select distinct(producto) from ingresos)

pero no logro sacar esta query.......ayuda please!!!!:D

Caro 17-06-2010 23:31:09

Hola ilichhernandez, puedes hacerlo de dos formas uno tomando el Max de la fecha y el otro con el Max del Id.

Código SQL [-]
Select *
From tutabla t Inner Join (Select Max(id) as id, producto 
                              From tutabla Group By producto) as t1
     on (t.id=t1.id)
 
 
Select distinct t.id, t.fecha, t.cantidad
From tutabla t Inner Join (Select Max(fecha) as fecha, producto
                              From tutabla Group By producto) as t1
on (t.fecha=t1.fecha)

pruébalo y nos cuentas como te ha ido.

Saluditos

ilichhernandez 18-06-2010 15:38:36

ok, gracias... probare y les cuento.....saludos

ilichhernandez 18-06-2010 16:47:11

Estimado, he probado las 2 soluciones, la primera me arroja que existe una referencia circular en el alias ID en la definicion de la query y la segunda opcion al ejecutarla me pregunta por el valor de t.fecha.....si pudieras detallarme un poco mas tu codigo para tratar de entender y resolver te lo agradeceria....saludos y muchas gracias .....


La franja horaria es GMT +2. Ahora son las 02:18:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi