本帖最后由 aiaihe 于 2010-09-10 23:10:00 编辑

解决方案 »

  1.   

    提个思路,楼主不妨弄点测试数据出来试试:用一张表保存Hj的计算方法,然后关联A表去替换A表中的Hj,然后再用动态SQL计算不过这种需求效率一定是不敢恭维的
      

  2.   


    太别扭了。顺序改一下就行了。select A1,(A11+A12+...+A20) as A2,A3,..A19,A21,...A34,(A21+...A30)*0.5,A36,...,A50,(A1+...A10) as Hj1,(A31+..+A40+100) as A20,...
    from a某字段依赖其他字段,就先把其他字段列出来,然后根据你的要求进行设置就行了。
      

  3.   

    假如:当A2的值是一个运算值时如(A2=Hj2*0.6)
       hj2就影响到到hj1的结果了。
      

  4.   

    假如:当A2的值是一个运算值时如(A2=Hj2*0.6)
      A20的值是一个运算值时如(A20=Hj4+100)
      A35=Hj3*0.5hj1里的a2,  取值需hj2
    hj2里的a20,取值需hj4
    hj4里的a35,取值需hj3最后列的顺序是 ...(其他列).. hj3,a35,hj4,a20,hj2,a2,hj1 --这里要是有循环了就完了select a1,a2.....a50,hj1,hj2,hj3,hj4,hj5 from (
    select a1,a3......a50, --这里面没有a35,a20,a2
    hj3 = (a21+a22+...a30),
    a35 = (Hj3*0.5),
    hj4 = (a31+a32+...a40),
    a20 = (hj4+100),
    hj2 = (a11+a12+...a20),
    a2 = (hj2*0.6) ,
    hj1 = (a1+a2+...a10),
    hj5 = (a41+a42...a50))
      

  5.   


    工资表中的某字段(由用户确定那个字段,要动态SQL)是公式运算的。公式是由表中其他字段或其他字段的合计构成。要选出表中各字段和各合计值。如何写这"select"
      

  6.   

    你这样做用语句来算效率会很低。你为什么用用程序来处理。还有你的公式可能会变化。例如,缴费的保险基数比例,每年8月份都会调整。那你怎么办改sql语句。而且这样反复查询和计算对数据库也造成负担。我们之前做的工资模块是用程序来处理。数据库只要求记录数据就可以。
      

  7.   

    理一下逻辑
    A2=(A11+A12+A13+A14+...+A20)*0.6
    A20=(A31+A32+A33+A34+...+A40)+100
    A35=(A21+A22+A23+A24+...+A30)*0.5现在可以先求A35,接着A20,A2
    update 表A set A35=(A21+A22+A23+A24+...+A30)*0.5
     update 表A set A20=(A31+A32+A33+A34+...+A40)+100
     update 表A set A35=(A21+A22+A23+A24+...+A30)*0.5
     update 表A set Hj1=(A1+A2+A3+...+A10)
     update 表A set Hj2=(A11+A12+A13+A14+...+A20)
    .....
    不知道是不是你想要的我正在使用《Csdn收音机》第一时间获取最新动态!
      

  8.   

    to :cheneyfeng3
    在程序中如何处理,给个思路或cb代码
      

  9.   

    写程序方便变了不还是要改写程序? 你写个存储过程 直接抛出结果如果需求变 了修改下过程中SQL 不是很简单?