Como hago consulta sql para restar 2 campos de 2 tablas y actualizar una de ellas con el resultado


28 de Enero del 2021

Buenas tardes talves me puedan ayudar, con esta consulta,lo que quiero hacer es que se actualize la columna stockactual_di de la tabla talmacen pero unicamente se APLIQUE a aquellos productos que coincidan con el mismo idproducto de la tabla almacen con el idarticulo de la tabla detalleingreso

inner join tdetalleingreso on tdetalleingreso.idarticulo=talmacen.idproducto 

de igual forma el idingreso sea igual con las tabla almacen y tabla ingreso

 inner join tingreso on tingreso.idingreso=talmacen.id_ingreso

 tomando en cuenta que el estado sea igual DEV. se es de suponer q solamente tomaria encuente lo siguiente

tingreso tdetalleingreso talmacen
1029 1029 1029

despues
tabla tdetalleingres tabla talmacen

 idingreso idarticulo stockactual idingreso idproducto stockactua_di
1029           999           3            1029       999             4
1029           888           3            1029       888            4
1029            777          3            1029       777           4

se hace la resta y se actualiza y en la tabla talmacen queda asi
stockactua_di
1
1
1

stockactua_di
-6
-6
-6

este es el script
UPDATE talmacen
set
talmacen.stockactual_di=talmacen.stockactual_di - tdetalleingreso.stockactual
from talmacen
inner join tdetalleingreso on tdetalleingreso.idarticulo=talmacen.idproducto
inner join tingreso on tingreso.idingreso=talmacen.id_ingreso
where tingreso.estado='DEV'