SQL语句求助
ikgan 2007-07-13 11:58:28 Declare @LsBH Varchar(12)
DECLARE C_Finance CURSOR FOR
SELECT [单位编号] FROM [T_往来帐册] where [收付标记]=Convert(Int,@LiCode) and [操作人员] = @user
OPEN C_Finance
FETCH NEXT FROM C_Finance Into @LsBH
WHILE @@FETCH_STATUS = 0
BEGIN
Update [T_往来帐册] Set
[增加金额]=isnull((Select Sum([发生金额]) From [T_往来帐单]
where [单位编号]=@LsBH and [收付标记]=@LiCode and ([帐单日期] between @BeginDay and @EndDay)),0),
[付款金额]=isnull((Select Sum([发生金额]) From [T_往来记录]
where [单位编号]=@LsBH and [收付标记]=@LiCode and ([发生日期] between @BeginDay and @EndDay)),0),
[期末剩余]=(isnull((Select Sum([发生金额]) From [T_往来帐单]
where [单位编号]=@LsBH and [收付标记]=@LiCode and ([帐单日期]<=@EndDay)),0) -isnull((Select Sum([发生金额]) From [T_往来记录]
where [单位编号]=@LsBH and [收付标记]=@LiCode and ([发生日期]<=@EndDay)),0))
where [T_往来帐册].[单位编号]=@LsBH and [T_往来帐册].[收付标记]=@LiCode and [T_往来帐册].[操作人员] = @user
FETCH NEXT FROM C_Finance Into @LsBH
END
CLOSE C_Finance
DEALLOCATE C_Finance
上面这段SQL,有没有办法不用游标实现?