Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-10-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No he entendido bien, dices que quieres ordenar por fecha, pues cambias c1.id por c1.fecha:
Código SQL [-]
Select c1.id, c1.fecha, c1.cliente, c1.DEBE, C1.HABER,Sum(C2.DEBE-C2.HABER)as SALDO
from CTACTE C1
inner join CTACTE C2
on (C1.id >= C2.id)
where (c1.cliente = :cli and c2.cliente = :cli )and c1.fecha >= :f
Group By c1.fecha,c1.id, c1.cliente, c1.DEBE, C1.HABER
Order by c1.fecha
Responder Con Cita
  #2  
Antiguo 04-10-2019
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Casimiro, lo que dices es correcto, y eso comenté que hice, pero si observas los resultados de los saldos acumulados no coinciden.
Fijate el ejemplo en números que puse en el primer post.

El problema con las fechas se da si hay registros con misma fecha, y con registros que soy agregados hoy, pero registrados con fecha vieja.
Responder Con Cita
  #3  
Antiguo 04-10-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es que los saldos tienen que ser diferentes si cambias el orden, porque van registros antes o después.
Es el "problema" con los bancos, que ves que te va a faltar saldo para pagar algún recibo, haces un ingreso y cuando miras el extracto resulta que te han cobrado el recibo antes que el apunte de tu ingreso, porque lo han ordenado por "fecha valor" en lugar de "fecha real", por poner un ejemplo similar.
Responder Con Cita
  #4  
Antiguo 04-10-2019
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
No he entendido bien, dices que quieres ordenar por fecha, pues cambias c1.id por c1.fecha:
Código SQL [-]
Select c1.id, c1.fecha, c1.cliente, c1.DEBE, C1.HABER,Sum(C2.DEBE-C2.HABER)as SALDO
from CTACTE C1
inner join CTACTE C2
on (C1.id >= C2.id)
where (c1.cliente = :cli and c2.cliente = :cli )and c1.fecha >= :f
Group By c1.fecha,c1.id, c1.cliente, c1.DEBE, C1.HABER
Order by c1.fecha
Aqui pego un ejemplo con numeros mas chicos, de lo que da esta sentencia. EL SALDO FINAL DEBE SER 480

Cita:
ID FECHA CLI DEBE HABER SALDO
80 2019-08-27 11 120 0 120
81 2019-08-27 11 50 0 170
82 2019-08-27 11 250 0 420
131 2019-08-29 11 300 0 720
274 2019-09-01 11 0 150 580
261 2019-09-03 11 30 0 750
275 2019-09-12 11 0 100 480
273 2019-09-14 11 0 20 730
En cambio los saldos son correctos si se ordena por ID, pero se agregaron fechas anteriores con ID posteriores no queda ordenado bien por fecha y complica la visión

Así queda orden por ID, los saldos quedan bien ordenados pero no las fechas y los movimientos

Cita:
ID FECHA CLI DEBE HABER SALDO

80 2019-08-27 11 120 0 120
81 2019-08-27 11 50 0 170
82 2019-08-27 11 250 0 420
131 2019-08-29 11 300 0 720
261 2019-09-03 11 30 0 750
273 2019-09-14 11 0 20 730
274 2019-09-01 11 0 150 580
275 2019-09-12 11 0 100 480
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
calcular saldo Firebird+DBX hibero Firebird e Interbase 4 24-03-2008 16:42:53
Hacer readonly una columna en stringgrid zcatzz Varios 5 26-09-2007 16:59:50
Como hacer una columna Acumulada en SQL egarc SQL 14 21-09-2007 23:26:01
Como hacer esto a una columna de un cxgrid??? AFilth Varios 0 22-11-2006 12:08:19
Como hacer invisible columna de Grid? txuseibar OOP 4 10-10-2003 19:04:15


La franja horaria es GMT +2. Ahora son las 13:41:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi