Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/11/2012, 19:30
jose920405
 
Fecha de Ingreso: noviembre-2012
Ubicación: Cali - Colombia
Mensajes: 46
Antigüedad: 12 años
Puntos: 0
Pregunta Update Entre tablas

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