Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2008, 12:59
ManuelV
 
Fecha de Ingreso: octubre-2003
Mensajes: 101
Antigüedad: 21 años, 4 meses
Puntos: 0
Como rebajar de una tabla, con otras tablas involucradas

Tengo 4 tablas involucradas en este SP

Insumo : ID, Nombre,Cantidad_Stock
Producto: ID, Nombre
Insumo_Producto: ID, Producto ID, Insumo ID,Cantidad
Comanda_Detalle: ID, Producto ID, Comanda ID,Cantidad


Ejemplificando:

Insumos en stock : 1, Tallarines, 100
2, Salsa, 50

Producto (Platos) : 1, Tallarines con Salsa
Insumo_Producto (Composicion del Plato) : 1, Tallarines con Salsa, Tallarines, 0.5
, Salsa, 0.30

Comanda_Detalle (Venta Plato): 1, Tallarines con Salsa, 89(Nro.Comanda), 2 (se vendieron 2 platos)

Siginifica que como se vendieron 2 platos de tallarines, que debo descontar de la tabla Insumos con los ingredientes ocupados.
En este caso 1 unidad de tallarin y 0,60 de salsa. (como se vendieron 2 platos se multiplica lo que se ocupa de tallarin y salsa, es decir 0,5 y 0,3 respectivamente)



En el @ID se envia el numero de la comanda desde NET, en este caso el 89. De ahí se obtienen los platos vendidos y por ende los ingredientes a descontar.


esto lo que llevo hasta el momento , pero me falta completarlo.
please help

ALTER procedure [dbo].[sp_comanda_descuentainsumo]
(
@ID int
)
as
SELECT IP.id
,IP.producto_id
,CD.cantidad
,PR.nombre
,IP.insumo_id
,IM.id
,IM.nombre
,IM.subtipo_umedida
,IP.cantidad

FROM tbl_insumo_producto IP

LEFT OUTER JOIN tbl_comanda_detalle CD on CD.producto_id = IP.producto_id
LEFT OUTER JOIN tbl_producto PR on PR.id = CD.producto_id
LEFT OUTER JOIN tbl_insumo IM on IM.id = IP.insumo_id

where CD.comanda_id = @ID


UPDATE [tbl_insumo]
SET
[cantidad] = ¿????
WHERE IM.id = IP.insumo_id