https://foro.gambas-es.org/viewtopic.php?f=3&t=5468&p=32404#p32404
-----------------------------------
shordi
Lunes, 16 May 2016, 17:33

Re: Crear Bd Inventario Pequeño Con Sqlite3
-----------------------------------
[quote]
la primera pregunta que me va surgiendo es commo resuelvo la cantidad

si tengo 5 pilas y doy salida a 1 como resto al 5, por medio de codigo gambas o sql tiene algo previsto?[/quote]

No lo resuelvas. No es necesario. Hay un principio elemental en el diseño de las bases de datos: No dupliques la información. Es decir, si tienes y dos y un dos, no almacenes el cuatro: Ya lo tienes.

Si anotas las entradas y anotas las salidas siempre tienes disponible la cantidad. No la almacenes, por cuanto un fallo en un proceso, una transacción incompleta o lo que sea, te de-sincroniza la información.

Elimina el campo cantidad de la tala producto. Cuando necesites saber la cantidad que hay haz una consulta sobre eso y ya está.
Algo así:
[code linenumbers=false syntax=sql]select sum(entradas.cantidad) - sum(salidas.cantidad) `Cantidad` from productos left join entradas on productos.idproducto=entradas.idproducto left join salidas on productos.idproducto=salidas.idproducto where producto = 1[/code]

o algo así para ver una lista:

[code linenumbers=false syntax=sql] select producto.nombre, sum(entradas.cantidad) - sum(salidas.cantidad) `Cantidad` from productos left join entradas on productos.idproducto=entradas.idproducto left join salidas on productos.idproducto=salidas.idproducto group by producto.idproducto[/code]

Con eso nunca te falla la cantidad, siempre es correcta y te ahorras el grabarla, modificarla o sincronizarla.

Saludos


