表一:附加费 fjf1 fjf2 fjf3 fjf4 fjf5 fjf6 fjf7
   5000
   300
   -10
   200
   100
   5500
   -30 表二:
分项合计 数值
fjf1 2000
fjf2 500
fjf3 -1000
fjf4 300
fjf5 -400
fjf6 5000
fjf7 4660
-------------------------
现在在表一中填入值,要求横向和值等于附加费 ,纵向和值等于表二中的对应的值,填入的值可以为负数,
我考虑了两天,想用两个for 循环,后来发现很难实现,主要在for循环中if语句判断


解决方案 »

  1.   

    这个是表设计的问题,你的表应该设计成表二,表一可以通过触发器等算出来。表一如果是报表,做个列-》行转换的sql就可以了。用不着for
      

  2.   

    假设要填入的数据列为a-g,行号是1-7
    一个思路:
    1、随机生成第一行到第六行的a-f列的数据
    2、根据第一行到第6行的每行小计数(也就是附加费的值)求出第一行到第6行的g列数据
    3、根据每一列的小计数(也就是分项合计数)求出第7行每列的数据
    4、可以证明所求出的第七行每列数据的小计一定是已知的第七行附加费值。