Ver Mensaje Individual
  #11  
Antiguo 26-08-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 26-08-2012 a las 01:15:43.
Responder Con Cita