如题:
具体如下:
如何把一个数额按天数分配下去,前提是两个表.
表一:
 类别    金额
 A     5000.00
 B     2500.00
表二:
 项目 类别 天数 金额
 1   A  10   ?
 2   A   20      ?
  3      B    15      ?
  4      B    20      ?如何求出表二中的金额,要求按天数将表一中的金额分配到表二中
前提:数据库是ACCESS 2000,这个语句在sql SERVER 2000下我弄出来了,可是在access 2000下,引用ADO,CN.EXEC SQL1下,无法成功,显示操作符丢失,如何解决?

解决方案 »

  1.   

    看了半天没看懂啥意思,操作符丢失?应该市sql语句写错了,把你的代码贴出来看看
      

  2.   

    说的简单一点就是把表一中的 A 5000.00按表二中A 计30天,求得系数 5000/30,然后乘以表二中A的天数,就得到了表二中 A 分配的金额了
      

  3.   

    select table2.type, table2.day,table1.money * (table2.day / (select sum(table2.day) from table2 where table2.type = table1.type))
    from table1,table2
    where table1.type= table2.type
      

  4.   

    我是要更新啊,用UPDATE才对吧
      

  5.   

    sorry,access 的语法好像不能这么用。
    应该生成辅助表
    select table2.type as type, sum(table2.day) as totleday into table3 from table2select table1.money * ( table2.day/table3.totalday) as money ,table2.type,table2.day
    into table4
    from table2,table3,table1
    where table2.type = table3.type
    and table1.type = table2.typeupdate table2
    set table2.money = table4.money
    from table2,table4
    wherer table2.type = table4.type
    and table2.day = table4.day
      

  6.   

    UPDATE 语句在ACCESS2000下,好像不能使用多表吧?也就是UPDATE 不能使用FROM吧
      

  7.   

    update 表二 inner join (
    select 表二.id,表一.金额*表二.天数 as 金额 from 表二 inner join 表一 on 表二.类别=表一.类别) a
    on 表二.类别=a.类别
    set 表二.金额=a.金额
      

  8.   

    可以参考
    http://community.csdn.net/Expert/topic/3250/3250952.xml?temp=.7990839
      

  9.   


    update 表二 set 金额=A.天数*B.金额 from 表二,表一 B where  表二.类别=B.类别