Restar cantidades de una tabla en otra

75 views
Skip to first unread message

Oscar Duran

unread,
Jun 9, 2015, 11:29:46 PM6/9/15
to publice...@googlegroups.com
ANTE TODO MUCHAS GRACIAS A QUIEN PUEDA AYUDARME CON ESTE TEMA, DEBIDO A EN VERDAD NECESITO SABER ACERCA DEL TEMA.

La situacion es que necesito como restar un cantidad de un campo de una tabla en otra tabla, Explico mejor:

TENGO UNA TABLA "PRODUCTO.DBF con los siguientes campos.

CODIGO I DESCRIPCION I CANTIDAD
      003   I    CAUCHO       I  18

Y TENGO UNA TABLA DE INFORMACION TEMPORAL "FACT_TEMP.DBF"

FACTURA I   CODIPROD  I  DESCRIPCION  I   CANTID
   00112    I         003         I      CAUCHO      I         3


Bueno lo que necesito es restar las 3 unidades de la tabla FACT_TEMP.DBF en la Tabla PRODUCTO.DBF, el resultado obvio sería 15.
Claro estoy que el punto de enlace serian los codigos de los productos pero no se la manera mas eficaz de HACERLO.

Les Agrezco su ayuda amigos. Gracias  

Víctor Hugo Espínola Domínguez

unread,
Jun 9, 2015, 11:41:23 PM6/9/15
to publice...@googlegroups.com
Hola Oscar

Prueba esto:

SELECT (pro.Cantidad - tmp.Cantid) AS Diferencia ;
    FROM Producto pro                            ;
    INNER JOIN Fact_Temp tmp                     ;
        ON pro.Codigo = tmp.CodiPro

Saludos,
Víctor.
Lambaré - Paraguay.

Oscar Duran

unread,
Jun 9, 2015, 11:47:30 PM6/9/15
to publice...@googlegroups.com, vich...@gmail.com
GRACIAS VICTOR, Voy a probar, en realidad me intereza es la tabla de producto, que es la que mostrará las cantidades existentes y donde quiero que se realice la resta.

Víctor Hugo Espínola Domínguez

unread,
Jun 9, 2015, 11:56:01 PM6/9/15
to publice...@googlegroups.com
UPDATE Productos                                         ;
    SET Cantidad = Productos.Cantidad - Fact_Temp.Cantid ;
    FROM Fact_Temp                                       ;
    WHERE Productos.Codigo = Fact_Temp.CodiPro

Antonio Meza

unread,
Jun 10, 2015, 11:00:57 AM6/10/15
to publice...@googlegroups.com, oscar...@gmail.com, vich...@gmail.com
El problema que si piensas usar el programa en RED, no te va a servir mucho ese código, si 2 usuarios o mas leen y actualizan los valores de la tabla productos.dbf no serán los correctos.

Para asegurarte necesitarías bloquear el registro para consultarlo y luego modificar, así aseguras que el valor sera el actual para cada usuario.

Sin embargo aplicar ese bloqueo a una tabla muy concurrida luego tendrás problemas de bloqueos!!!

En conclusión es una mala practica!!

saludos
Antonio Meza
Reply all
Reply to author
Forward
0 new messages