Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/08/2011, 09:48
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Como sumar filas y mostrar el resultado en la misma consulta

Hola Cristo_:

Aquí el detalle sería cómo determinar cuál es la última fila. por ejemplo si tuvieras tu tabla con algún consecutivo podrías hacerlo así utilizando un MAX y SUM y haciendo un LEFT JOIN sobre tu tablas, sería más o menos así:

Código SQL:
Ver original
  1. DECLARE @TABLA TABLE (NO_PEDIDO INT, DESCRIPCION VARCHAR(10), IMPORTE INT)
  2. INSERT INTO @TABLA VALUES (1, 'PEDIDO 1', 100)
  3. INSERT INTO @TABLA VALUES (2, 'PEDIDO 2', 100)
  4. INSERT INTO @TABLA VALUES (3, 'PEDIDO 3', 100)
  5. SELECT * FROM @TABLA
  6.  
  7. /*
  8. NO_PEDIDO   DESCRIPCION IMPORTE
  9. ----------- ----------- -----------
  10. 1           PEDIDO 1    100
  11. 2           PEDIDO 2    100
  12. 3           PEDIDO 3    100
  13. */
  14.  
  15. SELECT T1.NO_PEDIDO, T1.DESCRIPCION, T1.IMPORTE, T2.SUMA FROM @TABLA T1 LEFT JOIN
  16. (SELECT MAX(NO_PEDIDO) MAX_NO_PEDIDO, SUM(IMPORTE) SUMA FROM @TABLA) T2 ON T1.NO_PEDIDO = T2.MAX_NO_PEDIDO
  17.  
  18. /*
  19. NO_PEDIDO   DESCRIPCION IMPORTE     SUMA
  20. ----------- ----------- ----------- -----------
  21. 1           PEDIDO 1    100         NULL
  22. 2           PEDIDO 2    100         NULL
  23. 3           PEDIDO 3    100         300
  24. */

Sin embargo, recordando mis clases de contabilidad, recuerdo que en cualquier reporte o informe financiero, las sumatorias deben estás siempre debajo de todos los elementos que estás sumando, nunca al nivel de un elemento de la suma, pero bueno esa es otra historia. Espero que te pueda servir la idea.

Saludos
Leo.