Hola,
Tengo una tabla de Precios (ValidoDesde, IdProducto,
Precio) - Los precios de los productos cambian (-->
Cambian los campos ValidoDesde & Precio) - y otra de
Pedidos (FechaPedido, IdCliente, IdPedido, IdProducto,
Cantidad,...).
Me gustaria que la consulta PedidosConsulta fuera capaz
de hallar el precio correcto del producto según la Fecha
en la que se realiza el pedido.
No basta con incluir en criterios de FechaPedido: >=
[ValidoDesde] ya que puedo cambiar de precio cada mes por
un mismo producto y habría muchos precios disponibles por
un pedido en una fecha X.
Ejemplo:
- Tabla de Precios:
ValidoDesde IdProducto Precio
01/10/02 Hora 7,50 ?
15/01/03 Hora 7,00 ?
30/03/03 Hora 7,25 ?
- Tabla de Pedidos
FechaPedido IdCliente IdPedido IdProducto ...
15/10/02 1 1 Hora
01/01/03 1 2 Hora
08/03/03 2 3 Hora
15/07/03 1 4 Hora
- Consulta de Pedidos que quiero obtener:
FechaPedido IdCliente IdPedido Importe
15/10/02 1 1 7,50 ?
01/01/03 1 2 7,50 ?
08/03/03 2 3 7,00 ?
15/07/03 1 4 7,25 ?
PS: Lo único que se me occure es añadir un campo
ValidoHasta en la tabla de Precios con el fin de pedir
que FechaPedido >= ValidoDesde AND (FechaPedido <=
ValidoHasta Or IsNull(ValidoHasta)) pero eso tiene doble
inconveniente:
- Me obliga a entrar una fecha para ValidoHasta (< de 1
día al nuevo ValidoDesde) siempre que cambio de precio.
- Me complica muchisimo los criterios de varias consultas
ya que los precios NO son los únicos datos que cambian
segun las fechas (Tambien cambian los datos de 5 o 6
tablas más) así que imaginaros las lineas de criterios en
una consulta que combine todos esos datos.
Gracias de antemano a los que gasten tiempo para
solucionarme este dolor de cabeza.
Leer las respuestas