Bueno,
he probado haciendo una procedure, y soy incapaz de hacerlo funcionar. Como tengo la cabeza algo dura, he seguido probando, y haciendo alguna prueba, he conseguido esto
Código SQL
[-]SELECT codigo,
fecha AS fecha,
SUM(entradas) AS Entrada,
SUM(salidas) AS salida,
SUM(entradas) - SUM(salidas) +
(SELECT SUM(entradas - salidas)
FROM inventario
WHERE codigo = I.codigo AND fecha < I.fecha)
AS balance
FROM Inventario I
GROUP BY codigo, fecha
con el inconveniente de que la primera fila el campo balance da nulo porque la query saca un valor nulo.
Se podría poner un case para intentar maquear el resultado, pero ya no me queda fósforo en el coco. No sé si estoy haciendo una burrada, es decir, si la select dará el rendimiento adecuado, pero menos es nada, Ojo, que el orden de los sumandos de la columna 'balance' sí influye en que la query pase el analizador o no de errores de sintaxis.
esta es la salida de mi juego de ensayo
Código SQL
[-]
codigo__Fecha________Entrada___Salida Balance
0001____01/01/2007___15________5_________null
0001____02/02/2007___10________3_________17
0001____03/03/2007____3________0_________20
Suerte y un saludo