Consulta complicada

19/09/2004 - 01:26 por Gustavo Monasterios | Informe spam
Tengo una tabla de transacciones que tiene la siguiente
estructura:

id
fecha
monto
cuenta_origen
cuenta_destino
concepto

Ahi almaceno los movimientos de dinero entre cuentas,
siendo cuenta_origen de donde sale el dinero y
cuenta_destino donde ingresa. Necesito hacer una consulta
que me muestre todos los movimientos de un determinada
cuenta desde una fecha especifica hasta otra de la
siguiente manera, mostrando la información por cuentas.
Es decir cuanto dinero entro desde cada cuenta y cuanto
salio a esa misma cuenta:


Cuenta TotalIngreso TotalEgreso

5 10.000 0
7 0 5.000

Como se puede lograr esto? Gracias de antemano
 

Leer las respuestas

#1 Javier Loria
20/09/2004 - 03:09 | Informe spam
Hola Gustavo:
Algo como esto?
==SELECT COALESCE(O.Cuenta_Origen, D.Cuenta_Destino)
, SUM(D.Cuenta_Destino) AS TotalIngreso
, SUM(O.Cuenta_Origen) AS TotalEgreso
FROM Transacciones AS O
FULL OUTER JOIN Transacciones AS D
ON O.Cuenta_Origen=D.Cuenta_Destino
WHERE D.Fecha BETWEEN @Inicio AND @Fin
AND O.Fecha BETWEEN @Inicio AND @Fin
GROUP BY COALESCE(O.Cuenta_Origen, D.Cuenta_Destino)
== Esta sin probar asi que es posible que tenga errores de sintaxis.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"Gustavo Monasterios" wrote in message
news:3b8e01c49dd6$dc53ad10$
Tengo una tabla de transacciones que tiene la siguiente
estructura:

id
fecha
monto
cuenta_origen
cuenta_destino
concepto

Ahi almaceno los movimientos de dinero entre cuentas,
siendo cuenta_origen de donde sale el dinero y
cuenta_destino donde ingresa. Necesito hacer una consulta
que me muestre todos los movimientos de un determinada
cuenta desde una fecha especifica hasta otra de la
siguiente manera, mostrando la información por cuentas.
Es decir cuanto dinero entro desde cada cuenta y cuanto
salio a esa misma cuenta:


Cuenta TotalIngreso TotalEgreso

5 10.000 0
7 0 5.000

Como se puede lograr esto? Gracias de antemano

Preguntas similares