Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/07/2010, 17:09
oscarbt
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años, 6 meses
Puntos: 27
ayuda en SINTAXIS UPDATE

Buenas a todos, necesito realizar un UPDATE y no se como utilizar la funcion SUM

tengo las siguientes tablas:

Código SQL:
Ver original
  1. CREATE TABLE ARTICULO
  2. (
  3.    COD_ART              CHAR(2) NOT NULL,
  4.    NOM_ART              CHAR(5),
  5.    VAL_ART              FLOAT,+
  6.    CAN_EXISTENTE INT,
  7.    PRIMARY KEY (COD_ART)
  8. );

Tabla factura:

Código SQL:
Ver original
  1. CREATE TABLE FACTURA
  2. (
  3.    COD_FAC              CHAR(2) NOT NULL,
  4.    CED_CLI              CHAR(10) NOT NULL,
  5.    VAL_TOT_FAC          FLOAT,
  6.    FEC                  DATE,
  7.    PRIMARY KEY (COD_FAC)
  8. );

Y tabla articulos de la factura

Código SQL:
Ver original
  1. CREATE TABLE ARTICULO_FACTURA
  2. (
  3.    COD_ART              CHAR(2) NOT NULL,
  4.    COD_FAC              CHAR(2) NOT NULL,
  5.    CAN_ART              INT NOT NULL,
  6.    VAL_TOT_ART          FLOAT NOT NULL,
  7.    PRIMARY KEY (COD_ART, COD_FAC)
  8. );

En la tabla articulo tengo una cantidad existente, y lo que quiero es que en el momento de vender un numero determinado de articulos, me actualice en la tabla articulo el campo CAN_EXISTENTE, haciendole una resta

Lo habia planteado asi pero me sale un error:

Código SQL:
Ver original
  1. UPDATE ARTICULO a, ARTICULO_FACTURA af
  2. SET       a.CAN_EXISTENTE=a.CAN_EXISTENTE - SUM(af.CAN_ART)
  3. WHERE  a.COD_ART=af.COD_ART
  4. GROUP BY af.COD_ART;

No se si la funcion SUM este mal planteada o si no se pueda utilizar en un UPDATE

Agradezco la colaboracion, muchas gracias