仔细看了看,不太明白 是不是难点在上一次资金累计上 SELECT @变量= MAX(时间) FROM TABLE WHERE .... 就能定位出上次的结算时间 Recno2 和Recno3 看上去是一样的呀,不太明白你的具体意思
用c就好做了... sum = 0; sum = 收入-支出 sum = sum + 收入-支出 sum++ 在delphi中可不可以来实现这个方法
你参考着一下,你看能用上吗? 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
楼上的几位没有看轻意思
用游标或者客户端处理(追加记录)
是不是难点在上一次资金累计上
SELECT @变量= MAX(时间) FROM TABLE WHERE ....
就能定位出上次的结算时间
Recno2 和Recno3 看上去是一样的呀,不太明白你的具体意思
sum = 0;
sum = 收入-支出
sum = sum + 收入-支出
sum++
在delphi中可不可以来实现这个方法
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