es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Determinar el precio actual de cada producto.

Estoy tratando de descubrir cómo determinar el precio más reciente de un producto. Estoy teniendo problemas porque el precio no se está actualizando y la fecha no está llegando a los números correctos.
Aquí está el código que he intentado escribir (sé que no es el mejor):

SELECT p.prodID, pr.price, MAX(pr.[from]) [date]
FROM Price pr
INNER JOIN Product p ON p.prodId = pr.prodId
GROUP BY p.prodID, pr.price;

Con este problema, tengo una base de datos que muestra el precio de múltiples días diferentes, pero trato de encontrar el más reciente, por ejemplo, de los datos:

INSERT INTO Price VALUES
(36, ‘20191221’, 16.47)
INSERT INTO Price VALUES
(36, ‘20191226’, 16.47)
INSERT INTO Price VALUES
(36, ‘20191229’, 12.81)
INSERT INTO Price VALUES
(36, ‘20191230’, 12.81)

Esta es la tabla de precios:

Create Table Price (
prodId int Foreign Key References Product(prodId),
[from] date,
price decimal(10,2),
Constraint PK_Price Primary Key (prodId, [from])
);

Para simplificar, solo me estoy enfocando en el producto 36, pero hay muchos productos diferentes. Los resultados actuales muestran el precio como 18.30 y la fecha como 2019-10-12. Quiero que los resultados muestren el precio como 12.81 y la fecha como 2019-12-30.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Puede utilizar la siguiente consulta para obtener el precio más reciente de un producto:


    SELECT p.prodID, pr.price, MAX(pr.[from]) [date]
    FROM Price pr
    INNER JOIN Product p ON p.prodId = pr.prodId
    WHERE p.prodID = 36
    GROUP BY p.prodID, pr.price;

    Esta consulta devolverá el precio y fecha más recientes del producto 36.

Comments are closed.