Pues continuamos con otras sentencias.
Tenemos la necesidad de generar una sentencia que me liste una tabla de cargos, abonos y su respectiva columna de saldo al vuelo.
Tenemos la siguiente sentencia.
SET @saldo_anterior=0;
SELECT cliente, cargo, abono, @saldo_anterior:=@saldo_anterior+cargo-abono AS saldo FROM pagoclie WHERE cliente = "01";
Para eso requerimos de generar una variable de usuario creada en la conexión activa llamada saldo_anterior, para eso utilizamos la clausula SET, nótese que debe llevar el signo de arroba (@) antes del nombre de la variable. Vale la pena comentar que algunos clientes de mysql no aceptan múltiple sentencias, pero si se genera separadamente podría funcionar.
La segunda sentencia nos lista el nombre del cliente, cargos, abonos y la variable antes creada y se hace la asignación de los saldos fila por fila, dejando ese valor en la columna saldo.
Todo esto de la tabla pagoclie y filtrando por cliente "01"
El resultados es este:
cliente cargo abono saldo
01 10.00 0.00 10.00
01 0.00 10.00 0.00
01 10.00 0.00 10.00
01 0.00 10.00 0.00
Esperemos sea de su ayuda
Saludos
En contabilidad así se utilizan los campos cargo y abono? de manera separada?
ResponderEliminarNo es una forma de desperdiciar espacio en la base de datos?
Gracias.
Como lo sugieres?
ResponderEliminarEn un solo campo, si es cargo va en positivo y si es abono en negativo (o viceversa, no soy contador).
EliminarY al momento de visualizar, mediante código separamos en dos columnas los positivos y los negativos.
Pero yo preguntaba si tal vez hay alguna forma optima de mejorar el almacenamiento de los datos en la bd.
El como optimizar una base de datos es por seguro el como este creada y el tipo justo de datos a guardar
ResponderEliminargracias por el saldo; respecto a mantener columnas separadas o no, con el avance y disminución de costos ahora simplemente da lo mismo, y depende de cada programador por las ventajas que tienen ambos casos.
ResponderEliminar