Necesito Actualizar el campo Cantidad de una tabla llamada Ingrediente, Con la Cantidad de una Tabla Llamada Receta
Este es el MER que relaciona estas dos tablas
Me explico Mejor. El producto 100 Chuleta
Usa estos ingredientes:
Sal 5 gr
Carne 500 gr
Arroz 50 gr
Papa 35 gr
Estas Cantidades son las de la Tabla RECETA Por ejemplo para la
Sal.
CodigoProducto=100, CodigoIngrediente=1,Cantidad =5
Carne
CodigoProducto=100, CodigoIngrediente=2,Cantidad =500
(Y asi para el resto)
Esto es lo que se necesita la chuleta de estos ingredientes para preparar la Receta.
En el Stock (La tabla INGREDIENTE)
Tengo las Cantidades totales Así.
Sal 25000 gr
Carne 80000 gr
Arroz 50000 gr
Papa 30000 gr
Y cuando uso este código
UPDATE Ingrediente a
SET a.Cantidad = NVL(a.Cantidad -(SELECT b.Cantidad FROM Receta b WHERE b.CodigoIngrediente =a.CodigoIngrediente
AND b.CodigoProducto=100),0)
Me actualiza bien:
Me quedan Asi:
Sal 24995 gr
Carne 79500 gr
Arroz 49950 gr
Papa 29965 gr
Pero el resto de ingredientes que tengo que no son ni la SAL NI LA CARNE NI LA PAPA NI EL ARROZ, El resto de ingredientes que no tienen nada que ver con chuleta el Producto 100, que son:
Tomate
Cebolla
ETC
Me los deja en 0.
Es decir en la Tabla Ingrediente (donde tengo almacenado las cantidades totales de los ingredientes) en el atributo Cantidad Tengo:
Tomate 25000
Cebolla 35000
Pero al usar el código que les digo que me sirve, Lo que hace es dejarme esos otros ingredientes en 0
Tomate 0
Cebolla 0
Como hago para corregir este Error
Luego esta sentencia la tengo que montar en java para actualizar desde java