tengo las siguientes tablas:
Código SQL:
Ver original
CREATE TABLE ARTICULO ( COD_ART CHAR(2) NOT NULL, NOM_ART CHAR(5), VAL_ART FLOAT,+ CAN_EXISTENTE INT, PRIMARY KEY (COD_ART) );
Tabla factura:
Código SQL:
Ver original
CREATE TABLE FACTURA ( COD_FAC CHAR(2) NOT NULL, CED_CLI CHAR(10) NOT NULL, VAL_TOT_FAC FLOAT, FEC DATE, PRIMARY KEY (COD_FAC) );
Y tabla articulos de la factura
Código SQL:
Ver original
CREATE TABLE ARTICULO_FACTURA ( COD_ART CHAR(2) NOT NULL, COD_FAC CHAR(2) NOT NULL, CAN_ART INT NOT NULL, VAL_TOT_ART FLOAT NOT NULL, PRIMARY KEY (COD_ART, COD_FAC) );
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
UPDATE ARTICULO a, ARTICULO_FACTURA af SET a.CAN_EXISTENTE=a.CAN_EXISTENTE - SUM(af.CAN_ART) WHERE a.COD_ART=af.COD_ART 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