vfp中 一个表的数据根据另一个表的数据更新而更新(在线等到1点钟) 感谢各位大侠们!

order_list 中订单号是主索引,order_detail中没有索引。
怎么把order_detail中的 单价*数量 得到的总和,重新更新order_list表中的总金额,并将得到的结果重新生保存在a表中,a表中的字段与order_list相同。
要求在程序中用sql语句编写。(如果看不到图片,可以先左键点击到大图片浏览模式,然后在左键点着不放,拖到你的浏览器的标题栏中就可以看到了。)
刷新了30次还是没有人睡去了,明天再来看看,希望有奇迹发生!
select 1
use order_list
select 2
use order_detail
select 1
update on 订单号 from order_detail replace 总金额 with 总金额=sum(order_detail.数量*order_detail.单价)
(但是提示:无效的引用下标.救助!!)

第1个回答  推荐于2020-12-05
IF !USED("order_detail")
USE order_detail IN 0
ENDIF
IF !USED("order_list")
USE order_list IN 0
ENDIF
update order_list set order_list.总金额=order_detail.单价*order_detail.数量 from order_detail where order_list.订单号=order_detail.订单号
sele order_list.订单号,sum(单价*数量) as 总金额 from order_list,order_detail where order_detail.订单号=order_list.订单号 group by order_list.订单号 into table a
上面的在VFP9试验通过。
update 更新是VFP9新用法。追问

二级考试是不是考的是vfp6.0啊?我练的是vfp6.0。
update order_list set order_list.总金额=order_detail.单价*order_detail.数量 from order_detail where order_list.订单号=order_detail.订单号 (update ...... set 我的书上有,但是好像没有
from,有where,update ...... set 是不是有 from ?)

追答

如果你用的是VFP6,就写的比较复杂点了
close tables all
create table a (订单号 C(10),总金额 N(15,2))
select 1
use order_list
select 2
use order_detail
select 1
go top
do while not eof()
select sum(单价*数量) as 总金额 from order_detail where 订单号=order_list.订单号 into array asum
insert into a values(order_list.订单号,asum)
select 1
replace 总金额 with asum
skip
enddo

本回答被提问者采纳
第2个回答  2011-09-14
sele 客户号,order_list.订单号,订购日期,sum(单价*数量) as 总金额 from order_list,order_detail where order_detail.订单号=order_list.订单号 group by order_detail.订单号 into table a追问

你好像没有看清楚,关键的问题是根据order_detail里的sum(单价*数量) ,更改order_list里面的总金额,然后生成的新表,我可以copy to,不要说结果是一样的,但是过程必须有,不然得不了全分,这是vfp二级的考试题,求解!拜托!

追答

你将表传给我试试,update命令我用得不熟,需要实验一下

如何在VF的另一个表单中显示出另一个表单所抽到的全部内容
在VFP中,同时只能有一个表单是活动的.如果需要将一个表单的内容显示在另一个表单里,那么这两个表单应是一个表单集的(formset)的两个表单.假设第一个表单为 formset1.form1,第二个表单为formset1.form2.而第一个表单里的编辑框为 formset1.form1.text1,第二个表单的编辑框(或其他控件)为form...

...如何能把一个表中的某一字段下的数据加入另一个表中相同字段下,条件...
生成的 tmpTable 用来替换 table1 即可。

计算机二级VFP如何将一个Excel表格的数据匹配到另一个表中?
1、使用Excel打开文件,本文采用范例文件进行演示:2、表格中,我们需要查找商品的单价,比如笔记本电脑的单价,我们需要将另一个表格sheet2中的商品单价填充过来,如果数据少可以选择复制粘贴,数据量大的话,就需要采用函数的方式了,先点击红框所示的函数图标:3、进入之后再第一个图片的红框内输入VLOOKUP...

VFP数据库中怎样编写从一个表中导入另一个表的命令。
依次导入其余文件,之后 MyDBF中包含了所有DBF文件的记录。

在VFP中 怎么把一张表的字段及其记录加到另一张表中
建一个B表和A表结构完全相同,用这样语句可实现你说的功能:insert into B(部门号,人数)select (部门号,sum(人数) as 人数 ) from A group by 部门号 order by 部门号

VFP中怎样将一个数据库中的表(非自由表),添加到另一个数据库中使用,谢...
在VBF中打开一个DBC数据库。点表-添加-另一DBC数据库中某DBF表,注意表名称不能与已有表同名。或者将另一数据库DFC表复制粘贴到所需路径,用上述方法添加。

Select 查询一个表,条件来自是另一个表,如何写这个语句?
select * from gdxx where 产品编号 in (select 产品编号 from dhb )

如何把VF中一个表的所有数据拷到另一个表里
1 如果“另一个表”是一个新表(或可替换),则用以下命令 use 表名 copy to 新表名.dbf2 如果“另一个表”已存在,要追加进去,则用以下命令 use 另一个表名 appe from 表名.dbf 本回答由电脑网络分类达人 郭强推荐 举报| 答案纠错 | 评论 1 0 QQ909796169 采纳率:37% 来自:芝麻团 擅长: 其他编程...

在VFP中怎样把自由表中的数据拷到另一张自由表中?
如果那个新表已经存在了,那就(前提是新表和旧表的字段顺序一样)select * from 原表名 into array 数组名 use 新表名 zap insert into 新表名 from array 数组名 如果那个新表不是已经存在的表,那就 select * from 原表名 into table 新表名 ...

我想请问个问题,关于VFP的问题。为什么要在数据库中建立表与表的关系...
表与表的关系是为了方便多表间数据的访问,(就是说利用一个表来访问另一个表中的数据,)为了保证多个表数据的一致性,(就是在一个表中修改了某个记录另一个表也能相应变化)表与表间的关系在VFP中有两种,一种是临时关系(建好就用当将表关闭这个关系就没了),一种是永久关系(这个关系在...

相似回答