日期:2014-05-18  浏览次数:20449 次

麻烦用文字描述一下下面的语句,因为我初学实在看不懂
update   资产负债表   set   现金及现金等价物   =   b.金额   from   资产负债表   as   a,
            (select   sum(isnull(本期借方余额,0)-isnull(本期贷方余额,0))   as   金额
            from   科目余额表   where   会计期间   =   @kjqj   and  
            科目代码   > =   101   and   科目代码   <=   111)
            as   b   where   a.会计期间   =   @kjqj

------解决方案--------------------
将科目余额表中,“会计期间”等于某个值(@kjqj)并且“科目代码”从101至111的:

“本期借方余额”求和 减去 “本期贷方余额”求和

用这个值更新资产负债表中,会计期间”等于某个值(@kjqj)的“现金及现金等价物”
------解决方案--------------------



把 “科目余额表”這個表中,字段“科目代码” 從101 到111 ,字段“会计期间”假設為30天
所有“本期借方余额”之和減去 "本期贷方余额 "之和 的值
賦值給 同一会计期间的“资产负债表” 中的字段“现金及现金等价物 "
------解决方案--------------------
修改[资产负债表]中[会计期间]=@kjqj的所有[现金及现金等价物]的值,使得它的值等于[科目余额表]中[会计期间]=@kjqj并且[科目代码]在101和111之间的所有[本期借方余额]之和与所有[本期贷方余额]之和的差值

--考的是语文表达:)
------解决方案--------------------
计算公式:
资产负债表.现金及现金等价物
=
求和(科目余额表.本期借方余额)
-
求和(科目余额表.本期贷方余额)

条件:
资产负债表和科目余额表的“会计期间”等于同一个值(@kjqj)
科目余额表的“科目代码”从101至111。

------解决方案--------------------
将 科目余额表 中, '会计期间 '等于某个变量的值(这是调用存储过程的时候所赋的值,即是@kjqj),并且 '科目代码 '在101和111之间的 '本期借方余额 '字段的值减去 '本期贷方余额 '字段的值,然后求和,所得的值用于更新 资产负债表 中会计期间等于@kjqj的 '现金及现金等价物 '字段