Platos
idPlato PK autoinc
NomPlato
Descripcion
FormadoPor
idIngrediente PK autoinc
idPlato FK
cantidad
Stock
idStock PK autoinc
idIngrediente FK
tipo (Entrada "E", Salida "S")
cantidad
fecha
precio
Ingredientes
idIngrediente PK autoinc
NomIngrediente
Como minimo necesitas estas cuatro tablas.
Luego, para cada plato vendido debes hacer un INSERT INTO en Stock de tipo Salida para cada ingrediente de la receta del plato
Para el plato con id=1
Esto te da el inventario sin valoración
Código MySQL:
Ver original SUM(If(s.tipo
="E",s.cantidad
,0)) as entradas
, SUM(If(s.tipo
="S",s.cantidad
,0)) as salidas
, SUM(If(s.tipo
="E",s.cantidad
,0)-If(s.tipo
="S",s.cantidad
,0)) as saldo
ON s.idIngrediente
=i.idIngrediente
Seguramente hay mas formas de hacerlo