Saludos. Tengo un problema al insertar los registros de una tabla a otra. El caso es el siguiente:
- Tabla origen: tabDetCompra
- Tabla destino: tabKardex
INSERT INTO tabKardex(
CodProd_kar,
Concepto_kar,
Fecha_kar,
FecRegBD_kar,
CantIngreso_kar,
VuIngreso_kar,
VtIngreso_kar,
CantSaldo_kar)
SELECT CodProd_dtc,
'COMPRA'
UniMed_dtc,
@FechaCompra_com,
getdate(),
(Cant_dtc*Rela_dtc),
(Vt_dtc / (Cant_dtc*Rela_dtc)),
Vt_dtc,
(Cant_dtc*Rela_dtc) +(select isnull(sum(CantIngreso_kar),0) - isnull(sum(CantSalida_kar),0) from tabKardex where CodProd_kar = CodProd_dtc)
FROM tabDetCompra WHERE NumCompra_dtc = @NumeroCompra
La consulta la ejecuté por partes y lo que aparece sin resaltar está correcto. La parte que está marcada es la que me da problemas.
La idea es que la parte resaltada es una subconsulta que devuelve la diferencia de la sumatoria de dos columnas:
sum(CantIngreso_kar) - sum(CantSalida_kar), que se encuentran en tabla destino osea tabKardex. Esto se realiza con la finalidad de ingresar en la fila que se está insertando la cantidad actual de productos, es decir los productos que habian mas los productos que es este momento están ingresando (Cant_dtc*Rela_dtc).
Lo que no puedo obtener es cuantos productos habían para sumar con los productos que estoy insertando.
Les agradezco de antemano por su valiosa ayuda