Stack Overflow en español Asked on November 17, 2021
Estoy haciendo una base de datos para un punto de venta. Mi problema es el siguiente:
¡La tabla detalle
y la tabla factura
están relacionadas!
En la tabla detalle
tengo: cantidad | precio | importe
Y en la tabla factura
tengo: Num_factura | fecha | total
Lo que quiero es que las suma de los importes se guarden en la columna Total
de la tabla factura
.
He tratado de hacerlo de la siguiente manera:
update fe set fe.Total = fe.Total + sum ( ed.Importe) from Entrada_detalle ed inner join
Fact_entrada fe on ed.NumFact_Entrada = fe.NumFact_entrada where fe.NumFact_entrada = 2015
Al terminar de insertar los detalles, puedes lanzar la siguiente actualización:
update Factura
set Total = (select sum(Detalle.Importe)
from Detalle
where Detalle.Num_factura = Factura.Num_factura
)
where Num_factura = 'A 123';
Esta actualiza el total de una factura específica con la sumatoria del importe de todos sus detalles (los que existan en ese momento en la DB).
Dicho esto, generalmente desaconsejo almacenar valores derivados en una base de datos transaccional; esto suele ser la fuente de errores y dolores de cabeza en sistemas en producción cuando la programación no es correcta.
Nota: He utilizado los nombres de tablas que das en la descripción de tu pregunta y no los que tienes en la consulta de ejemplo. Que sean diferentes es bastante confuso y no tengo idea cuales son los reales, ya te tocará a ti hacer los ajustes.
Answered by jachguate on November 17, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP