15/10/2008, 02:21
|
| | Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 10 meses Puntos: 13 | |
Respuesta: Consulta de saldos.. ahi lo llevas Nirvana
Código:
pruebas=# create table saldo (id serial primary key, saldo_inicial integer);
NOTICE: CREATE TABLE creará una secuencia implícita «saldo_id_seq» para la columna serial «saldo.id»
NOTICE: CREATE TABLE / PRIMARY KEY creará el índice implícito «saldo_pkey» para la tabla «saldo»
CREATE TABLE
pruebas=# insert into saldo (saldo_inicial) values (500);
INSERT 0 1
pruebas=# create table operaciones (id serial primary key, id_saldo integer references saldo(id), operacion integer);
NOTICE: CREATE TABLE creará una secuencia implícita «operaciones_id_seq» para la columna serial «operaciones.id»
NOTICE: CREATE TABLE / PRIMARY KEY creará el índice implícito «operaciones_pkey» para la tabla «operaciones»
CREATE TABLE
pruebas=# insert into operaciones (id_saldo, operacion) values (1, 10);
INSERT 0 1
pruebas=# insert into operaciones (id_saldo, operacion) values (1, 20);
INSERT 0 1
pruebas=# insert into operaciones (id_saldo, operacion) values (1, 5);
INSERT 0 1
pruebas=# insert into operaciones (id_saldo, operacion) values (1, -100);
INSERT 0 1
pruebas=# select * from operaciones;
id | id_saldo | operacion
----+----------+-----------
1 | 1 | 10
2 | 1 | 20
3 | 1 | 5
4 | 1 | -100
(4 filas)
pruebas=# select saldo_inicial, operacion, saldo_inicial + (select sum(operacion) from operaciones op where op.id <= o.id) as saldo_resultante from operaciones o join saldo s on o.id_saldo = s.id;
saldo_inicial | operacion | saldo_resultante
---------------+-----------+------------------
500 | 10 | 510
500 | 20 | 530
500 | 5 | 535
500 | -100 | 435
(4 filas)
Salu2 |