MySQL - Rellenar campo consultando otra tabla (antes de insertar)

 
Vista:

Rellenar campo consultando otra tabla (antes de insertar)

Publicado por Pablo (29 intervenciones) el 23/02/2021 11:05:26
Estimados tengo un problema, quizá de concepto.

Tengo cuatro tablas: clientes, productos, pedidos y líneas de pedido.

En pedidos tengo un campo llamado importe_pedido, que lleno con la suma de todos los importes de las líneas de pedido para el mismo pedido_id al terminar de introducirlas. Uso un trigger After Insert y parece que funciona.

Ahora bien, en línea de pedido, tengo un campo que llamo precio_unitario, que debería ser el precio unitario del producto que acabo de seleccionar por su producto_id.

Alguien me dirá ¿Para qué quieres un precio_unitario en la tabla Lineas_de_pedido si ya lo tienes en Productos?

Y yo diré que necesito saber a qué precio se vendió un producto en un momento dado, porque este puede variar con el tiempo.

¿Cómo podría hacerlo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Rellenar campo consultando otra tabla (antes de insertar)

Publicado por anonymous (59 intervenciones) el 24/02/2021 19:38:37
Maneja un histórico, si es que cuentas con suficiente espacio en tu server.

Normalmente manejarás precio de Compra y precio de venta, si tus precios varían podrías hacer un proceso que cada que modifiquen un precio de un producto, lo respalde en un histórico y así tendrás siempre todos los precios con sus fechas anteriores
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 3
Ha aumentado su posición en 25 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Rellenar campo consultando otra tabla (antes de insertar)

Publicado por Miguel (1 intervención) el 24/02/2021 19:58:40
Si necesitas saber a que precio se vendio tu producto, eso lo tienes en tu linea de pedido, esto es porque como dices al momento de la venta alli se guarda el precio de venta, si por alguna razon tu producto cambia de precio, la unica manera de saber es cuando llevas a cabo una orden, si estas seguro que tus productos NUNCA cambiaran de precio no necesitas el campo precio en tu linea, pero eso no es recomendable para un sistema real.


Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar