Cita:
Empezado por anubis
Hola de nuevo.
Tengo esta sentencia sql
Código SQL [-]SELECT a.NOMBREPRODUCTO,b.CANTIDAD,c.precio from productos a ,inventarios b, precios c where a.ID_PRODUCTO=b.ID_PRODUCTO and a.ID_PRODUCTO=c.ID_PRODUCTO
Donde tengo 3 tablas, una de productos, otra de inventarios y finalmente otra de precios, en las dos primeras existe un registro por producto y por inventario, pero la de precios tiene varios precios del orden 1 a n.
En esa consulta me saca tantos registros como precios tengan los productos, por lo que si un producto tiene 3 precios me saca 3 registros y asi sucesivamente,
lo que me interesaba es que en esa misma consulta me sacara solo el ultimo precio registrado, pero no veo forma.
Alguno sabe como se puede hacer, ya busque en san google
|
Podría ser algo como
Código SQL
[-]
SELECT
a.NOMBREPRODUCTO,b.CANTIDAD,c.precio,
(select first 1 pr.precio from precios pr where pr.ID_PRODUCTO=a.ID_PRODUCTO order by fecha desc, id_precio desc) as ultimo_precio
from productos a ,inventarios b, precios c
where a.ID_PRODUCTO=b.ID_PRODUCTO and a.ID_PRODUCTO=c.ID_PRODUCTO
Lo malo es que con el tiempo tal vez esta consulta se vaya poniendo lenta, algo que se podría solucionar mejor con un campo en la tabla productos llamado precio_actual o algo similar el cual cambie siempre que se agregue un registro en la tabla precios