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

Desafio!! en una query

Estas en el tema de Desafio!! en una query en el foro de SQL Server en Foros del Web. ----------- Estructura Tabla---------------- Fecha---TipoMovimiento--Importe 17/05-------h-----------------$21 18/05-------d-----------------$10 19/05-------h-----------------$36 ------------------------------------------------- Tipo de Movimiento h=haber d=debe Apartir de eso yo debo IMPRIMIR o mostrar Fecha----Haber----Debe----Saldo xx/xx------$...------$...------$... xx/xx------$...------$...------$... xx/xx------$...------$...------$... ...
  #1 (permalink)  
Antiguo 18/11/2008, 15:06
 
Fecha de Ingreso: julio-2008
Ubicación: San Luis
Mensajes: 70
Antigüedad: 15 años, 9 meses
Puntos: 1
Exclamación Desafio!! en una query

----------- Estructura Tabla----------------

Fecha---TipoMovimiento--Importe
17/05-------h-----------------$21
18/05-------d-----------------$10
19/05-------h-----------------$36
-------------------------------------------------
Tipo de Movimiento
h=haber
d=debe

Apartir de eso yo debo IMPRIMIR o mostrar

Fecha----Haber----Debe----Saldo
xx/xx------$...------$...------$...
xx/xx------$...------$...------$...
xx/xx------$...------$...------$...

Solo debo hacerlo en una consulta no puedo usar cursores!!
Alguien sabe como??
  #2 (permalink)  
Antiguo 18/11/2008, 22:47
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Desafio!! en una query

mmmmmmmmmmmm, creo que............

SELECT Fecha,
SUM(CASE WHEN TipoMovimiento = 'd' THEN Importe END) AS Debe,
SUM(CASE WHEN TipoMovimiento = 'h' THEN Importe END) AS Haber,
SUM(CASE WHEN TipoMovimiento = 'd' THEN Importe END) - SUM(CASE WHEN TipoMovimiento = 'h' THEN Importe END) AS Saldo
FROM tutabla
GROUP BY Fecha

¿Funciona?
  #3 (permalink)  
Antiguo 19/11/2008, 06:21
 
Fecha de Ingreso: julio-2008
Ubicación: San Luis
Mensajes: 70
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Desafio!! en una query

Funciona!! pero el saldo lo tiene que ir llevando del anterior osea algo asi!!

Este seria el procesamiento de las filas

--debe 25 y como no tiene nada a saldo le pone -25
Debe: 25 Haber: 00 Saldo: -25

--ahora aporta 50 pero como tenia -25 se lo resta
Debe: 00 Haber: 50 Saldo: 25

--ahora aporta 80 y como tenia 25 se lo suma
Debe: 00 Haber: 80 Saldo: 105

--ahora debe 5 y se lo resta al monto que tenia antes (105)
Debe: 05 Haber: 00 Saldo: 100

Si??
  #4 (permalink)  
Antiguo 19/11/2008, 08:55
 
Fecha de Ingreso: julio-2008
Ubicación: San Luis
Mensajes: 70
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Desafio!! en una query

Listo ya esta!! Gracias por tu ayuda
en base a eso del SUM(CASE... arme algo y anduvo re bien
aprendi algo nuevoooo!!!!
  #5 (permalink)  
Antiguo 19/11/2008, 08:56
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Desafio!! en una query

podrias postearlo?,

le podria ser util a alguien mas..

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
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 11:28.