select 表1.达到地 ,表1.编号,sum(表2.保险费) 总保险费 ;
from 表2,表1 where 表2.编号=表1.编号;
group by 表1.达到地 into cursor temp1

解决方案 »

  1.   

    以编号为索引即可!
    或调用表一时 查找编号=**同时记录下地址:dz=**#,再调用表二 查找编号=**记录下保险费:bxf=**$,打开表三,写入dz和bxf即可!
      

  2.   

    我想了一下,因为到达地这个条件是根据COMBO的选项确定的,要赋给他一个值,是不是应该这样写呢?
    select 表1.达到地 ,表1.编号,sum(表2.保险费) 总保险费 ;
    from 表2,表1 where 表2.编号=表1.编号,表1.到达地=thisform.combo1.value;
    group by 表1.达到地 into cursor temp1哦,还有这一句不是很明白sum(表2.保险费) 总保险费 ,总保险费这个字段是表3才有的。
      

  3.   

    意思是把sum(表2.保险费)的结果存到temp1中,并用"总保险费"这个字段名表示,你运行一下就知道了
    where后表达式用and 连接,不能用,
    应该是:
    select 表1.达到地 ,表1.编号,sum(表2.保险费) 总保险费 ;
    from 表2,表1 where 表2.编号=表1.编号 and 表1.到达地=thisform.combo1.value;
    group by 表1.达到地 into cursor temp1
      

  4.   

    select 表1.达到地,sum(表2.保险费) as 总保险费 from 表1 join 表2 
    on 表1。编号=表2.编号 and 表1.到达地=thisform.combo1.value
    group by 表1.达到地 into cursor temp1
      

  5.   

    请教工作区问题,比如我写这样的程序use main
    locate for 运单号=46
    if !eof()
    message("!")
    endif
    select 1
    use person
    locate for 编号=1
    if !eof()
    message("#@")
    endif
    close database
    出现错误,它老说FILE IN USE 为什么
      

  6.   

    但是我想把总保险费送到表3,我已经在数据库里建好了表3这个表了
    可以这样做吗?
    select 表1.达到地 ,表1.编号,sum(表2.保险费) 总保险费 ;
    from 表2,表1 where 表2.编号=表1.编号 and 表1.到达地=thisform.combo1.value;
    replace 表3.总保险费 with sum(表2.保险费)
      

  7.   

    出现错误,它老说FILE IN USE 为什么
    回答:
      文件已打开。
      把use main改成
      if used("main")
         sele main 
      else
         use main
      endif
      

  8.   

    是不是也可以在程序前关闭打开的库。
    close data .