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 originalDECLARE @TABLA TABLE (NO_PEDIDO INT, DESCRIPCION VARCHAR(10), IMPORTE INT)
INSERT INTO @TABLA VALUES (1, 'PEDIDO 1', 100)
INSERT INTO @TABLA VALUES (2, 'PEDIDO 2', 100)
INSERT INTO @TABLA VALUES (3, 'PEDIDO 3', 100)
SELECT * FROM @TABLA
/*
NO_PEDIDO DESCRIPCION IMPORTE
----------- ----------- -----------
1 PEDIDO 1 100
2 PEDIDO 2 100
3 PEDIDO 3 100
*/
SELECT T1.NO_PEDIDO, T1.DESCRIPCION, T1.IMPORTE, T2.SUMA FROM @TABLA T1 LEFT JOIN
(SELECT MAX(NO_PEDIDO) MAX_NO_PEDIDO, SUM(IMPORTE) SUMA FROM @TABLA) T2 ON T1.NO_PEDIDO = T2.MAX_NO_PEDIDO
/*
NO_PEDIDO DESCRIPCION IMPORTE SUMA
----------- ----------- ----------- -----------
1 PEDIDO 1 100 NULL
2 PEDIDO 2 100 NULL
3 PEDIDO 3 100 300
*/
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.