Buen día; Amigo Libras nuevamente....
Te comento que a la final y notada más simplificada fue la adjuntada a continuación:
Código MySQL:
Ver originalFECHA SMALLDATETIME,
COMENTARIO NVARCHAR (300),
)
SELECT (ROW_NUMBER
() OVER
(ORDER BY (T1_1.CUENTA
) ASC)) AS CONTADOR
, FECHA
, T1_1.CUENTA
, T1_1.COMENTARIO
, T1_1.DEBE
, T1_1.HABER
SELECT T1.CONTADOR
, T1.CUENTA
, T1.COMENTARIO
AS DESCRIPCION
, CONVERT(CHAR(10), T1.FECHA
, 103) AS FECHA
, T1.DEBE
, T1.HABER
, ROUND(T1.DEBE
-T1.HABER
+ COALESCE(T2.SALDO
,0),2) AS SALDO
WHERE T2.CONTADOR
< T1.CONTADOR
AND T1.CUENTA
= T2.CUENTA
Por supuesto, me lanza 157 mil filas en 2 horas. Diría que aún es mucho tiempo, pero es lo más optimizado que he conseguido.
Ahora, lo que si me está aún complicando y estoy intentando realizar la simulación a una aplicación contable, es realizar mediante SQL, una fila final de cada cuenta con el total de la apertura, Debe, Haber y Saldo con su respectiva fórmula. No sé si en este caso podrías intentar darme algunos consejos o empujones de ideas.... Casi seguro esto tiende a ser más tipo programación, siendo un poco complicado en Base de Datos, pero soy del que intenta encontrar el jugo completo de una herramienta, y en caso de tener que usar alternativas, se usan. Pero nada mejor que realizarlo mediante SQL y usando Reporting Services para solo su interfaz y manejo de parámetros.
Te comento lo que intento conseguir, que de verdad es bastante complicado:
Estoy buscando la manera de controlarlo por un ROW_NUMBER/PARTITION a nivel de cuenta, y la misma, validarla para realizar la respectiva fórmula y crear una línea final en todos los resultados.
Por qué no todas las fórmulas en las cuentas sobre la suma y resta es semejante. Diría que las cuentas iniciales en 1xxxx es igual a las de las 5 en adelante. Y las 2,3,4 otra fórmula.
La idea que intento encontrar es particionarlo por un contador y poder intentar crear una línea final luego de su culminación de registros.
Cualquier cosa que consiga, lo publicaré. Si consigues algo antes, estaría bastante agradecido.
Sin más que agregar;
Cordial saludo.