Hola martini002.
No se con que RDBMS estas trabajando por lo que la sintáxis puede variar, probá con:
Código SQL
[-]
UPDATE INVENTARIO SET STOCK = STOCK -
COALESCE((SELECT CANTIDAD FROM FACTURATEMP WHERE INVENTARIO.ARTICULO = FACTURATEMP.ARTICULO),0);
O también con:
Código SQL
[-]
UPDATE INVENTARIO SET INVENTARIO.STOCK = INVENTARIO.STOCK -
COALESCE((SELECT CANTIDAD FROM FACTURATEMP WHERE INVENTARIO.ARTICULO = FACTURATEMP.ARTICULO),0);
La sentencia
SQL hace exáctamente lo que entendí que deseabas hacer. El uso de
COALESCE se hace necesario para evitar que el campo STOCK pudiera ponerse a NULL, ya que,
lo que sea - NULL = NULL.
Saludos.
Edito: Sería bueno que nos pusieras con que RDBMS estas trabajando.