none
Movimiento con saldo entre fechas RRS feed

  • Pregunta

  • Reinel (gallegorh@hotmail.com)

    Tengo una tabla que maneja movimiento de dinero. En la consulta que yo saco general para un nombre el me saca bien todos los movimientos con su respectivo saldo (sin fechas). Pero a la hora de yo sacar entre fechas no me arrastra el saldo anterior y de ahí para abajo me muestra negativos todos los saldos en algunos casos dependiendo del saldo anterior. con este código es que estoy trabajando. Como lo debo trabajar (Por su ayuda muchas gracias)

    SIN FECHA

    SELECT mcm_comprador, mcm_fecha, Trim(com_razonsocial + ' ' + com_apellido1 + ' ' + com_apellido2 + ' ' + com_nombre1 + ' ' + com_nombre2) AS Nombre, format(mcm_debito, '#,##') AS Débito,
    FORMAT(mcm_credito, '#,##') AS Crédito, Saldo = SUM(mcm_debito - mcm_credito) OVER(PARTITION BY mcm_comprador ORDER BY mcm_comprador, mcm_id ROWS UNBOUNDED PRECEDING) FROM movcomprador INNER JOIN comprador ON com_id = mcm_comprador WHERE mcm_comprador = '16739752' ORDER BY Nombre, mcm_fecha

    mcm_comprador mcm_fecha Nombre Débito Crédito Saldo
    XY001 30/08/2019 CUENTA DE CLIENTES 125.000.000 125.000.000
    XY001 4/09/2019 CUENTA DE CLIENTES 2.952.068 122.047.932
    XY001 4/09/2019 CUENTA DE CLIENTES 420.682 121.627.250
    XY001 4/09/2019 CUENTA DE CLIENTES 5.070.904 116.556.346
    XY001 4/09/2019 CUENTA DE CLIENTES 1.016.023 115.540.323
    XY001 4/09/2019 CUENTA DE CLIENTES 676.234 114.864.089
    XY001 4/09/2019 CUENTA DE CLIENTES 456.913 114.407.176
    XY001 4/09/2019 CUENTA DE CLIENTES 8.986.714 105.420.462
    XY001 4/09/2019 CUENTA DE CLIENTES 2.326.362 103.094.100
    XY001 4/09/2019 CUENTA DE CLIENTES 2.757.085 100.337.015
    XY001 4/09/2019 CUENTA DE CLIENTES 6.079.638 94.257.377
    XY001 4/09/2019 CUENTA DE CLIENTES 731.302 93.526.075
    XY001 4/09/2019 CUENTA DE CLIENTES 1.782.888 91.743.187
    XY001 4/09/2019 CUENTA DE CLIENTES 1.155.498 90.587.689
    XY001 4/09/2019 CUENTA DE CLIENTES 14.402.462 76.185.227
    XY001 4/09/2019 CUENTA DE CLIENTES 617.014 75.568.213
    XY001 4/09/2019 CUENTA DE CLIENTES 1.566.313 74.001.900
    XY001 4/09/2019 CUENTA DE CLIENTES 4.640.008 69.361.892
    XY001 4/09/2019 CUENTA DE CLIENTES 11.552.808 57.809.084
    XY001 4/09/2019 CUENTA DE CLIENTES 5.562.808 52.246.276
    XY001 4/09/2019 CUENTA DE CLIENTES 6.232.148 46.014.128
    XY001 4/09/2019 CUENTA DE CLIENTES 1.854.731 44.159.397
    XY001 6/09/2019 CUENTA DE CLIENTES 21.717.523 22.441.874
    XY001 12/09/2019 CUENTA DE CLIENTES 3.066.862 19.375.012
    XY001 12/09/2019 CUENTA DE CLIENTES 5.126.482 14.248.530
    XY001 12/09/2019 CUENTA DE CLIENTES 7.737.073 6.511.457
    XY001 12/09/2019 CUENTA DE CLIENTES 4.315.061 2.196.396
    XY001 23/09/2019 CUENTA DE CLIENTES 1.018.909 1.177.487
    XY001 23/09/2019 CUENTA DE CLIENTES 1.135.054 42.433
    XY001 30/09/2019 CUENTA DE CLIENTES 1.870.847 1.913.280
    XY001 30/09/2019 CUENTA DE CLIENTES 6.286.300 8.199.580
    XY001 30/09/2019 CUENTA DE CLIENTES 5.611.144 13.810.724
    XY001 30/09/2019 CUENTA DE CLIENTES 4.680.325 18.491.049
    XY001 30/09/2019 CUENTA DE CLIENTES 11.653.191 30.144.240
    XY001 30/09/2019 CUENTA DE CLIENTES 1.579.923 31.724.163
    XY001 30/09/2019 CUENTA DE CLIENTES 622.375 32.346.538
    XY001 30/09/2019 CUENTA DE CLIENTES 14.527.606 46.874.144
    XY001 30/09/2019 CUENTA DE CLIENTES 1.165.538 48.039.682
    XY001 30/09/2019 CUENTA DE CLIENTES 1.798.380 49.838.062
    XY001 30/09/2019 CUENTA DE CLIENTES 737.656 50.575.718
    XY001 30/09/2019 CUENTA DE CLIENTES 6.132.464 56.708.182
    XY001 30/09/2019 CUENTA DE CLIENTES 2.346.576 59.054.758
    XY001 30/09/2019 CUENTA DE CLIENTES 2.781.042 61.835.800
    XY001 30/09/2019 CUENTA DE CLIENTES 9.064.800 70.900.600
    XY001 30/09/2019 CUENTA DE CLIENTES 460.883 71.361.483
    XY001 30/09/2019 CUENTA DE CLIENTES 68.211 72.043.593
    XY001 30/09/2019 CUENTA DE CLIENTES 1.024.851 73.068.444
    XY001 30/09/2019 CUENTA DE CLIENTES 5.114.965 78.183.409
    XY001 30/09/2019 CUENTA DE CLIENTES 424.337 78.607.746
    XY001 2/10/2019 CUENTA DE CLIENTES 982.432 77.625.314
    XY001 2/10/2019 CUENTA DE CLIENTES 1.125.520 76.499.794
    XY001 2/10/2019 CUENTA DE CLIENTES 9.216.829 67.282.965
    XY001 2/10/2019 CUENTA DE CLIENTES 1.623.493 65.659.472
    XY001 11/10/2019 CUENTA DE CLIENTES 33.033.365 32.626.107
    XY001 16/10/2019 CUENTA DE CLIENTES 7.814.618 40.440.725
    XY001 16/10/2019 CUENTA DE CLIENTES 5.177.862 45.618.587
    XY001 17/10/2019 CUENTA DE CLIENTES 5.619.550 39.999.037
    XY001 21/10/2019 CUENTA DE CLIENTES 3.602.404 36.396.633
    XY001 21/10/2019 CUENTA DE CLIENTES 3.813.027 32.583.606
    XY001 21/10/2019 CUENTA DE CLIENTES 4.066.307 28.517.299
    XY001 21/10/2019 CUENTA DE CLIENTES 5.323.161 23.194.138
    XY001 21/10/2019 CUENTA DE CLIENTES 1.895.753 21.298.385
    XY001 21/10/2019 CUENTA DE CLIENTES 1.860.123 19.438.262
    XY001 21/10/2019 CUENTA DE CLIENTES 8.646.473 10.791.789
    XY001 21/10/2019 CUENTA DE CLIENTES 4.067.905 6.723.884
    XY001 21/10/2019 CUENTA DE CLIENTES 4.214.272 2.509.612
    XY001 29/10/2019 CUENTA DE CLIENTES 4.374.959 6.884.571
    XY001 29/10/2019 CUENTA DE CLIENTES 2.999.265 9.883.836
    XY001 29/10/2019 CUENTA DE CLIENTES 8.811.433 1.072.403
    XY001 31/10/2019 CUENTA DE CLIENTES 8.527.345 -7.454.942
    XY001 6/11/2019 CUENTA DE CLIENTES 3.116.738 -4.338.204
    XY001 13/11/2019 CUENTA DE CLIENTES 5.667.539 1.329.335
    XY001 14/11/2019 CUENTA DE CLIENTES 22.153.999 23.483.334
    XY001 14/11/2019 CUENTA DE CLIENTES 7.711.878 15.771.456
    XY001 14/11/2019 CUENTA DE CLIENTES 11.394.686 4.376.770
    XY001 30/11/2019 CUENTA DE CLIENTES 2 -2
    XY001 16/12/2019 CUENTA DE CLIENTES 4.376.770 0
    XY001 9/01/2020 CUENTA DE CLIENTES 11.575.396 11.575.396
    XY001 9/01/2020 CUENTA DE CLIENTES 7.834.181 19.409.577
    XY001 9/01/2020 CUENTA DE CLIENTES 4.415.126 23.824.703
    XY001 9/01/2020 CUENTA DE CLIENTES 1.671.327 25.496.030
    XY001 9/01/2020 CUENTA DE CLIENTES 9.488.390 34.984.420
    XY001 9/01/2020 CUENTA DE CLIENTES 1.158.681 36.143.101
    XY001 9/01/2020 CUENTA DE CLIENTES 1.011.378 37.154.479
    XY001 10/01/2020 CUENTA DE CLIENTES 1.170.984 38.325.463
    XY001 10/01/2020 CUENTA DE CLIENTES 1.051.163 39.376.626
    XY001 10/01/2020 CUENTA DE CLIENTES 4.313.010 43.689.636
    XY001 10/01/2020 CUENTA DE CLIENTES 4.163.214 47.852.850
    XY001 10/01/2020 CUENTA DE CLIENTES 1.903.704 49.756.554
    XY001 10/01/2020 CUENTA DE CLIENTES 1.940.169 51.696.723
    XY001 10/01/2020 CUENTA DE CLIENTES 5.447.880 57.144.603
    XY001 10/01/2020 CUENTA DE CLIENTES 4.161.578 61.306.181
    XY001 10/01/2020 CUENTA DE CLIENTES 3.902.364 65.208.545
    XY001 10/01/2020 CUENTA DE CLIENTES 3.686.806 68.895.351
    XY001 15/01/2020 CUENTA DE CLIENTES 2.523.474 66.371.877
    XY001 15/01/2020 CUENTA DE CLIENTES 6.045.337 60.326.540
    XY001 15/01/2020 CUENTA DE CLIENTES 1.602.802 58.723.738
    XY001 22/01/2020 CUENTA DE CLIENTES 8.879.469 67.603.207
    XY001 27/01/2020 CUENTA DE CLIENTES 32.181.575 35.421.632
    XY001 31/01/2020 CUENTA DE CLIENTES 6.089.729 29.331.903
    XY001 31/01/2020 CUENTA DE CLIENTES 3.962.632 25.369.271
    XY001 31/01/2020 CUENTA DE CLIENTES 8.323.785 17.045.486
    XY001 31/01/2020 CUENTA DE CLIENTES 14.308.458 2.737.028
    XY001 5/02/2020 CUENTA DE CLIENTES 34.186.665 36.923.693
    XY001 6/02/2020 CUENTA DE CLIENTES 28.065.542 8.858.151
    XY001 7/02/2020 CUENTA DE CLIENTES 9.074.115 17.932.266
    XY001 17/02/2020 CUENTA DE CLIENTES 5.000.000 12.932.266
    XY001 17/02/2020 CUENTA DE CLIENTES 8.802.015 21.734.281
    XY001 20/02/2020 CUENTA DE CLIENTES 12.901.406 8.832.875
    XY001 28/02/2020 CUENTA DE CLIENTES 8.832.875 0
    XY001 7/04/2020 CUENTA DE CLIENTES 32.847.295 32.847.293
    XY001 21/04/2020 CUENTA DE CLIENTES 1.648.664 34.495.957
    XY001 21/04/2020 CUENTA DE CLIENTES 2.595.681 37.091.638
    XY001 21/04/2020 CUENTA DE CLIENTES 6.218.319 43.309.957
    XY001 30/04/2020 CUENTA DE CLIENTES 39.360.167 3.949.790
    XY001 6/05/2020 CUENTA DE CLIENTES 4.078.684 8.028.474
    XY001 6/05/2020 CUENTA DE CLIENTES 6.268.076 14.296.550
    XY001 12/05/2020 CUENTA DE CLIENTES 28.880.677 43.177.227
    XY001 28/05/2020 CUENTA DE CLIENTES 14.825.251 58.002.478
    XY001 28/05/2020 CUENTA DE CLIENTES 8.624.424 66.626.902
    XY001 29/05/2020 CUENTA DE CLIENTES 22.760.090 43.866.812
    XY001 3/06/2020 CUENTA DE CLIENTES 39.767.942 83.634.754
    XY001 9/06/2020 CUENTA DE CLIENTES 2.536.139 81.098.615
    XY001 9/06/2020 CUENTA DE CLIENTES 2.531.176 78.567.439
    XY001 9/06/2020 CUENTA DE CLIENTES 1.985.236 76.582.203
    XY001 9/06/2020 CUENTA DE CLIENTES 3.285.566 73.296.637
    XY001 19/06/2020 CUENTA DE CLIENTES 40.529.919 32.766.718
    XY001 23/06/2020 CUENTA DE CLIENTES 13.375.192 40.813.022
    XY001 24/06/2020 CUENTA DE CLIENTES 3.311.157 36.077.875
    XY001 24/06/2020 CUENTA DE CLIENTES 2.000.699 38.078.574
    XY001 24/06/2020 CUENTA DE CLIENTES 2.550.891 40.629.465
    XY001 24/06/2020 CUENTA DE CLIENTES 2.555.893 43.185.358
    XY001 25/06/2020 CUENTA DE CLIENTES 2.935.158 40.250.200
    XY001 25/06/2020 CUENTA DE CLIENTES 3.285.223 36.964.977
    XY001 25/06/2020 CUENTA DE CLIENTES 9.527.147 27.437.830
    XY001 1/07/2020 CUENTA DE CLIENTES 7.850.070 32.962.952
    XY001 1/07/2020 CUENTA DE CLIENTES 702.498 32.260.454
    XY001 1/07/2020 CUENTA DE CLIENTES 2.345.837 29.914.617
    XY001 1/07/2020 CUENTA DE CLIENTES 7.624.906 22.289.711
    XY001 1/07/2020 CUENTA DE CLIENTES 1.918.267 20.371.444
    XY001 15/07/2020 CUENTA DE CLIENTES 23.057.286 43.428.730
    XY001 22/07/2020 CUENTA DE CLIENTES 40.867.215 84.295.945
    XY001 24/07/2020 CUENTA DE CLIENTES 6.359.878 77.936.067
    XY001 24/07/2020 CUENTA DE CLIENTES 19.481.560 58.454.507
    XY001 4/08/2020 CUENTA DE CLIENTES 11.444.711 47.009.796
    XY001 4/08/2020 CUENTA DE CLIENTES 7.358.604 39.651.192
    XY001 4/08/2020 CUENTA DE CLIENTES 4.150.843 35.500.349
    XY001 4/08/2020 CUENTA DE CLIENTES 4.687.994 30.812.355
    XY001 14/08/2020 CUENTA DE CLIENTES 30.812.355 0
    XY001 3/09/2020 CUENTA DE CLIENTES 713.537 713.537
    XY001 3/09/2020 CUENTA DE CLIENTES 1.948.412 2.661.949
    XY001 3/09/2020 CUENTA DE CLIENTES 7.973.431 10.635.380
    XY001 3/09/2020 CUENTA DE CLIENTES 2.382.701 13.018.081
    XY001 3/09/2020 CUENTA DE CLIENTES 7.744.729 20.762.810
    XY001 7/09/2020 CUENTA DE CLIENTES 16.000.000 4.762.810
    XY001 15/09/2020 CUENTA DE CLIENTES 9.357.307 14.120.117
    XY001 16/09/2020 CUENTA DE CLIENTES 9.723.783 23.843.900
    XY001 16/09/2020 CUENTA DE CLIENTES 3.353.028 27.196.928
    XY001 16/09/2020 CUENTA DE CLIENTES 2.995.738 30.192.666
    XY001 17/09/2020 CUENTA DE CLIENTES 14.817.257 15.375.409
    XY001 17/09/2020 CUENTA DE CLIENTES 7.960.049 7.415.360
    XY001 21/09/2020 CUENTA DE CLIENTES 31.045.225 38.460.585
    XY001 22/09/2020 CUENTA DE CLIENTES 19.744.575 58.205.160
    XY001 23/09/2020 CUENTA DE CLIENTES 27.347.212 30.857.948
    XY001 23/09/2020 CUENTA DE CLIENTES 2.701.789 28.156.159
    XY001 24/09/2020 CUENTA DE CLIENTES 26.000.000 2.156.159
    XY001 1/10/2020 CUENTA DE CLIENTES 4.201.298 6.357.457
    XY001 1/10/2020 CUENTA DE CLIENTES 7.448.051 13.805.508
    XY001 1/10/2020 CUENTA DE CLIENTES 11.583.827 25.389.335
    XY001 7/10/2020 CUENTA DE CLIENTES 2.714.759 28.104.094
    XY001 7/10/2020 CUENTA DE CLIENTES 27.478.498 55.582.592

    CON FECHA (Aquí d

    SELECT mcm_comprador, mcm_fecha, Trim(com_razonsocial + ' ' + com_apellido1 + ' ' + com_apellido2 + ' ' + com_nombre1 + ' ' + com_nombre2) AS Nombre, format(mcm_debito, '#,##') AS Débito,
    FORMAT(mcm_credito, '#,##') AS Crédito, Saldo = SUM(mcm_debito - mcm_credito) OVER(PARTITION BY mcm_comprador ORDER BY mcm_comprador, mcm_id ROWS UNBOUNDED PRECEDING) FROM movcomprador INNER JOIN comprador ON com_id = mcm_comprador WHERE mcm_comprador = '16739752' AND mcm_fecha BETWEEN '2020-06-01' AND '2020-06-25' ORDER BY Nombre, mcm_fecha

    como pueden ver empieza a mostrar negativos y deberían ser positivos ya que el último valor antes de esta consulta con fechas es: 83.634.754

    mcm_comprador mcm_fecha Nombre Débito Crédito Saldo
    XY001 3/06/2020         CUENTA DE CLIENTES 39.767.942 39.767.942
    XY001 9/06/2020         CUENTA DE CLIENTES 2.536.139 37.231.803
    XY001 9/06/2020         CUENTA DE CLIENTES 2.531.176 34.700.627
    XY001 9/06/2020         CUENTA DE CLIENTES 1.985.236 32.715.391
    XY001 9/06/2020         CUENTA DE CLIENTES 3.285.566 29.429.825
    XY001 19/06/2020 CUENTA DE CLIENTES 40.529.919 -11.100.094
    XY001 23/06/2020 CUENTA DE CLIENTES 13.375.192 -3.053.790
    XY001 24/06/2020 CUENTA DE CLIENTES 3.311.157 -7.788.937
    XY001 24/06/2020 CUENTA DE CLIENTES 2.000.699 -5.788.238
    XY001 24/06/2020 CUENTA DE CLIENTES 2.550.891 -3.237.347
    XY001 24/06/2020 CUENTA DE CLIENTES 2.555.893 -681.454
    XY001 25/06/2020 CUENTA DE CLIENTES 2.935.158 -3.616.612
    XY001 25/06/2020 CUENTA DE CLIENTES 3.285.223 -6.901.835
    XY001 25/06/2020 CUENTA DE CLIENTES 9.527.147 -16.428.982

    miércoles, 21 de octubre de 2020 0:00

Todas las respuestas

  • Hola mr.programador:

    Select mcm_comprador
    	 , mcm_fecha
    	 , Trim(com_razonsocial + ' ' + com_apellido1 + ' ' + com_apellido2 + ' ' + com_nombre1 + ' ' + com_nombre2) As nombre
    	 , format(mcm_debito, '#,##') As débito
    	 , format(mcm_credito, '#,##') As crédito
    	 , Sum(mcm_debito - mcm_credito) Over(Partition By mcm_comprador
    	   Order By mcm_comprador
    			  , mcm_id, mcm_fecha Rows Unbounded Preceding) as Saldo
    	   From movcomprador
    			Inner Join comprador On com_id = mcm_comprador
    	   Where mcm_comprador = '16739752' And mcm_fecha Between '2020-06-01' And '2020-06-25'
    	   Order By nombre
    			  , mcm_fecha;

    Si la ordenación tiene que ser por fecha, debe de formar parte de over.

    Si la respuesta no es lo que esperas, en vez de pegar los datos, pega la sentencia de inserción de los datos, para que podamos, sin tener que formatearlos, ver tú escenario.

    Sumas acumuladas

    https://javifer2.wordpress.com/2019/10/26/sumas-acumuladas/

    miércoles, 21 de octubre de 2020 3:38