本帖最后由 lvlufeng 于 2011-10-10 09:59:19 编辑

解决方案 »

  1.   

    我的相册地址里有数据,我不知道怎么贴图片到这帖子里,感谢大家关注,一下子竟然有这么多人关注,谢谢大家了
    图片好像不能显示:
    请移步去我相册看:
    http://hi.csdn.net/space-1186507-do-album-picid-940953.html
      

  2.   


    //ID FType FNumber FYield FCost FTotalCost FNote
    //1 A 1 .99 98      FTotalCost期望结果:98
    //2 A 2 .98 200      FTotalCost期望结果:98/0.98+200=300
    //3 A 3 .97 300      FTotalCost期望结果:300/0.97+300=609.28
    //4 A 4 .96 400      FTotalCost期望结果:609.28/0.96+400=1034.67
    //5 B 1 .99 100      FTotalCost期望结果:100
    //6 B 2 .98 200      FTotalCost期望结果:100/0.98+200=302.04
    //7 B 3 .97 300      FTotalCost期望结果:302.04/0.97+300=611.38
    //8 C 1 .99 100      FTotalCost期望结果:100
    //9 C 2 .98 200      FTotalCost期望结果:100/0.98+200=302.04
      

  3.   

    FNumber最大不大的话,并假设FNumber从1开始没有跳号,可递归cte;with cte as(
    select ID,FType,FNumber,FYield,FCost,FCost as FTotalCost,FNote
    from t_test
    where FNumber = 1
    union all
    select a.ID,a.FType,a.FNumber,a.FYield,a.FCost,b.FTotalCost / a.FYield + a.FCost as FTotalCost,a.FNote
    from t_test a,cte b
    where a.FNumber = b.FNumber + 1 and a.FType = b.FType
    )
    select * from cte
      

  4.   


    您好,FNumber最多15,中间不会有跳号,我看看您的这个方法
      

  5.   

    如果跳号了 加个自增列处理 方法还是用 CTE递归
      

  6.   

    可以试试update仿游标遍历计算。你给的数据太少,懒得写。
      

  7.   


    这个放在ACCESS里运行报错:无效的SQL语句;期待‘insert’'update''select'‘producure’
    我把最前面的分号去掉了也不行,请问是不是我操作错了?
      

  8.   

    晕,Access哪来cte
    你这个需要递归,用access的话最好在程序计算了,数据库难以实现硬放在数据库实现的话性能就保证不了了
      

  9.   

    要在程序里实现了啊?我用的是DELPHI7 ,不知道怎么实现 
      

  10.   

    用DELPHI7 的话,有什么办法能用程序实现呢?
      

  11.   

    你参照一下晴天大哥的思路,跟你的要求很相似.
    http://topic.csdn.net/u/20110801/17/d5a238bb-e82d-4059-8fc1-a705cd0fd0ff.html