Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Cargos y Abonos

Estas en el tema de Cargos y Abonos en el foro de Mysql en Foros del Web. Hola chicos. En una tabla quiero guardar la información de los cargos y abonos de una cuenta corriente de unas personas. Quisiera que me recomienden ...
  #1 (permalink)  
Antiguo 17/07/2014, 11:22
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Cargos y Abonos

Hola chicos.
En una tabla quiero guardar la información de los cargos y abonos de una cuenta corriente de unas personas.
Quisiera que me recomienden cómo trabajar mejor estos campos.
Separados?

codigo/cargo/abono
100/150.25/0.00
120/0.00/90.65

o juntos?
codigo/cargo
codigo/-abono

100/150.25
120/-90.65

y visualmente separar los cargos de los abonos por código.
Gracias.
__________________
Todos somos iguales. NO! a la violencia de género.
  #2 (permalink)  
Antiguo 18/07/2014, 01:27
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Cargos y Abonos

Codigo/fecha/Tipo/Importe
xxxx/YYYY-mm-dd HH:m:s/1/100
xxxx/YYYY-mm-dd HH:m:s/2/100

Tipos
1 Cargos
2 Abonos

Código MySQL:
Ver original
  1. SELECT codigo,SUM(if(tipo=1,importe,0)) Cargos,
  2.                         SUM(if(tipo=2,importe,0)) Abonos,
  3.                         SUM(if(tipo=1,importe,0-importe)) Saldo
  4. FROM tuTebla
  5. GROUP BY codigo

Saldo de xxxx = 0
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 18/07/2014 a las 01:42
  #3 (permalink)  
Antiguo 21/07/2014, 11:56
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Respuesta: Cargos y Abonos

Cita:
Iniciado por quimfv Ver Mensaje
Codigo/fecha/Tipo/Importe
xxxx/YYYY-mm-dd HH:m:s/1/100
xxxx/YYYY-mm-dd HH:m:s/2/100

Tipos
1 Cargos
2 Abonos

Código MySQL:
Ver original
  1. SELECT codigo,SUM(if(tipo=1,importe,0)) Cargos,
  2.                         SUM(if(tipo=2,importe,0)) Abonos,
  3.                         SUM(if(tipo=1,importe,0-importe)) Saldo
  4. FROM tuTebla
  5. GROUP BY codigo

Saldo de xxxx = 0
y el campo importe qué tipo de campo debe ser? integer? decimal?
__________________
Todos somos iguales. NO! a la violencia de género.
  #4 (permalink)  
Antiguo 21/07/2014, 12:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Cargos y Abonos

DECIMAL.


Manual de referncia de MySQL:
Cita:
Los tipos DECIMAL y NUMERIC se implementan como el mismo tipo en MySQL. Se usan para guardar valores para los que es importante preservar una precisión exacta, por ejemplo con datos monetarios. Cuando se declara una columna de alguno de estos tipos, la precisión y la escala puede especificarse (y usualmente se hace), por ejemplo:

Código MySQL:
Ver original
  1. salary DECIMAL(5,2)

En este ejemplo, 5 es la precisión y 2 es la escala. La precisión representa el número de dígitos decimales significativos que se almacenan para los valores, y la escala representa el número de dígitos que pueden almacenarse a continuación del punto decimal.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 02/08/2014, 10:35
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Respuesta: Cargos y Abonos

Cita:
Iniciado por gnzsoloyo Ver Mensaje
DECIMAL.


Manual de referncia de MySQL:
Pero el tipo decimal soporta colocar -120.50, es decir con signo negativo?
Creo que no.
__________________
Todos somos iguales. NO! a la violencia de género.
  #6 (permalink)  
Antiguo 02/08/2014, 10:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Cargos y Abonos

Cita:
Creo que no.
Si lo hubieras probado, ya lo sabrías...

SI. Soporta negativos.

No existen, por definición del tipo coma flotante, números decimales sin signo. Sólo los enteros tienen esa característica.

Este tipo de preguntas es lo que debería llevarte a acudir y leer con cuidado el manual de referencia (http://dev.mysql.com/doc/refman/5.0/...ric-types.html). Es lo que hacemos todos cuando se nos plantea una duda de esa clase.

Cita:
Desde MySQL 5.0.3, los valores DECIMAL y NUMERIC se almacenan en formato binario. Antes de 5.0.3, MySQL almacena los valores DECIMAL y NUMERIC como cadenas de caracteres, en lugar de binario. .Un carácter se usa para cada dígito del valor, el punto decimal (si la escala es mayor que 0), y el signo '-' (para números negativos). Si la escala es 0, los valores DECIMAL y NUMERIC no contienen punto decimal o parte fraccional.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: campo, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:22.