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

Consulta SQL

Estas en el tema de Consulta SQL en el foro de Bases de Datos General en Foros del Web. Saludos a todos. Tengo necesidad de obtener un saldo a partir de la suma o resta de una columna lmporte. Ej: Importe Saldo 10-------->10 5-------->15 ...
  #1 (permalink)  
Antiguo 19/06/2013, 07:14
 
Fecha de Ingreso: mayo-2013
Ubicación: Guantánamo
Mensajes: 3
Antigüedad: 10 años, 11 meses
Puntos: 0
Consulta SQL

Saludos a todos.
Tengo necesidad de obtener un saldo a partir de la suma o resta de una columna lmporte.
Ej: Importe Saldo
10-------->10
5-------->15
-3--------->12
En este caso yo tengo los importes y lo que quiero calcular son los saldos.
No se si es posible hacer esto, si alguien tiene una idea de como hacerlo mediante consulta SQL se lo agradeceria eternamente.
Gracias de antemano.
  #2 (permalink)  
Antiguo 24/06/2013, 08:07
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Consulta SQL

Hola epaplicaciones:

Tal como tienes la información, es muy complicada la consulta, pues no puedes determinar un orden para hacer las sumas... si tienes algún tipo de Identificador, o un campo fecha que te pueda indicar el orden en que se obtienen los datos podrías hacer una subconsulta... (este id puede ser ficticio, es decir, crearlo al vuelo si es que no lo tienes en tu tabla). Imagina que tienes esto:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +------+---------+
  3. | id   | importe |
  4. +------+---------+
  5. |    1 |      10 |
  6. |    2 |       5 |
  7. |    3 |      -3 |
  8. +------+---------+
  9. 3 rows in set (0.00 sec)

Tu podrías obtener la columna de saldos así:

Código MySQL:
Ver original
  1. mysql> SELECT id, importe,
  2.     -> (SELECT SUM(importe) FROM tabla T2 WHERE T2.id <= T1.id) saldo
  3.     -> FROM tabla T1;
  4. +------+---------+-------+
  5. | id   | importe | saldo |
  6. +------+---------+-------+
  7. |    1 |      10 |    10 |
  8. |    2 |       5 |    15 |
  9. |    3 |      -3 |    12 |
  10. +------+---------+-------+
  11. 3 rows in set (0.00 sec)

Dale un vistazo para ver si te sirve.

Saludos
Leo.
  #3 (permalink)  
Antiguo 25/06/2013, 08:55
 
Fecha de Ingreso: mayo-2013
Ubicación: Guantánamo
Mensajes: 3
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Consulta SQL

Saludos leonardo_josue muchas gracias la consulta resultó perfecta, me dio algo de trabajo correrla en Access porque faltaba un as delante de saldo.
Quedaría de esta forma por si le interesa a alguien más:

SELECT id, importe, (SELECT SUM(importe) FROM tabla T2 WHERE T2.id <= T1.id) as saldo FROM tabla T1;

De Nuevo gracias…

Etiquetas: sql, tener
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:34.