Recno1 资金累计 := 出入-支出
Recno2  资金累计 := 上一资金累计+(出入-支出)
Recno3  资金累计 := 上一资金累计+(出入-支出)
...

解决方案 »

  1.   

    Sure
    楼上的几位没有看轻意思
    用游标或者客户端处理(追加记录)
      

  2.   

    请问madyak(无天) 兄,能否把实现过程写出来吗?
      

  3.   

    仔细看了看,不太明白
    是不是难点在上一次资金累计上
    SELECT @变量= MAX(时间) FROM TABLE WHERE ....
    就能定位出上次的结算时间
    Recno2 和Recno3 看上去是一样的呀,不太明白你的具体意思
      

  4.   

    用c就好做了...
    sum = 0;
    sum = 收入-支出
    sum = sum + 收入-支出
    sum++
    在delphi中可不可以来实现这个方法
      

  5.   

    你参考着一下,你看能用上吗?
    CREATE PROCEDURE TEST
    AS
    SET NOCOUNT ON DECLARE @ID1 INT,@ID2 INT,@收入1 MONEY,@收入2 MONEY,@支出1 MONEY,@支出2 MONEY, @资金累计1 MONEY,@资金累计2 MONEY
    DECLARE    资金累计 CURSOR LOCAL  FORWARD_ONLY FOR 
    SELECT [ID],收入,支出, 收入-支出 FROM TABLE1 ORDER BY [ID] ASC
    SELECT TOP 1 [ID],收入,支出,收入-支出 AS 资金累计
    INTO #TEMP 
    FROM TABLE1 ORDER BY [ID] ASC
    OPEN 资金累计
    FETCH NEXT FROM 资金累计 
    INTO @ID1,@收入1,@支出1, @资金累计1FETCH NEXT FROM 资金累计 
    INTO @ID2,@收入2,@支出2, @资金累计2WHILE @@FETCH_STATUS = 0
    BEGIN
    SET
    @资金累计2=@资金累计2+@资金累计1

    INSERT INTO #TEMP
    VALUES(@ID2,@收入2,@支出2,@资金累计2)

    SET @ID1=@ID2
    SET @收入1=@收入2 
    SET @支出1=@支出2 
    SET @资金累计1=@资金累计2
    FETCH NEXT FROM 资金累计 
    INTO @ID2,@收入2,@支出2, @资金累计2END 
    SELECT * FROM #TEMP