首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在做本题前首先确认在基础操作中已经正确地建立了order_detail表,在简单应用中已经成功地将记录追加到order_detail表。 当order_detail表中的“单价”修改后,应该根据该表的“单价”和“数量”字段修改order_list表
在做本题前首先确认在基础操作中已经正确地建立了order_detail表,在简单应用中已经成功地将记录追加到order_detail表。 当order_detail表中的“单价”修改后,应该根据该表的“单价”和“数量”字段修改order_list表
admin
2015-08-20
39
问题
在做本题前首先确认在基础操作中已经正确地建立了order_detail表,在简单应用中已经成功地将记录追加到order_detail表。
当order_detail表中的“单价”修改后,应该根据该表的“单价”和“数量”字段修改order_list表的“总金额”字段,现在有部分order_list记录的“总金额”字段值不正确,请编写程序挑出这些记录,并将这些记录存放到一个名为od.mod的表中(与order_list表结构相同,自己建立),然后根据order_detail表的“单价”和“数量”字段修改od_mod表的“总金额”字段(注意一个od_mod记录可能对应几条order_detail记录),最后od_mod表的结果要求按“总金额”升序排序,编写的程序最后保存为progl.prg。
选项
答案
步骤1:在命令窗口执行命令:
MODIFY COMMAND progl
,打开程序文件编辑器输入如下程序代码: SELECT订单号,SUM(单价*数量)AS总金额; FROM order_detail; GROUP BY订单号; INTO CURSOR arrtable SELECT order_liSt.*; FROM order_liSt , arrtable; WHERE order list.订单号=arrtable. 订单号AND order_list.总金额<> arrtable.总金额; INTO TABLE Od_mod USE Od_mod DO WHILE NOT EOF() SELECT arrtable.总金额FROM arrtable ; WHERE arrtable.订单号=od_mod.订单号; INTO ARRAY arr REPLACE总金额WITH arr SKIP ENDDO CLOSE ALL SELECT*FROM od_mod ORDER BY总金额; INTO CURSOR arrtable1 SELECT * FROM arrtablel INTO TABLE Od_mod 步骤2:保存文件修改,在命令窗口执行命令:DO progl.prg,执行程序文件。
解析
本题主要考查SQL分组计算查询;DO WHILE循环结构。本基本解题思路可按以下步骤进行:
首先,根据order_detail表的“单价”和“数量”数据,利用分组计算查询求出每组订单的“总金额”,将结果保存到一个临时表中。
然后,通过对order_1iSt表和临时表的联接查询,找出order_list表中“总金额”字段与临时表中“总金额”不相同的记录,并将order_list表中这些“总金额”不相同的记录输出到od_mod表中。
接着利用DO WHILE循环语句对od_mod表中的每条记录进行处理。通过SQL查询语句从临时表中先获得与od_mod表当前所指记录“订单号”相同的“总金额”字段值,将该值保存到数组中,再通过REPLACE命令修改od_mod表当前记录的值,每处理完一条记录,记录指针便指向下一条记录,一直到处理完od_mod表中的所有记录。
最后将od_mod表的记录按“总金额”排序,由于查询结果不能覆盖正在作为查询数据源的表,因此,可以通过一个临时表过渡,保存排序的表记录,再通过临时表将排好序的记录保存到原数据表中。
转载请注明原文地址:https://kaotiyun.com/show/eWEp777K
本试题收录于:
二级VF题库NCRE全国计算机二级分类
0
二级VF
NCRE全国计算机二级
相关试题推荐
VFP6.0是一种支持用户使用菜单、命令、______三种不同操作方式的新型数据管理系统。
在报表设计器中,可以使用的控件是______。
SQLSELECT语句为了将查询结果存放到临时表中应该使用______短语。
报表的数据源可以是()。
假设订货管理数据库中有3个表,仓库.DBF、职工.DBF和订购单.DBF,它们的结构分别如下:仓库表(仓库号C(4),城市C(10),面积I(4))职工表(仓库号C(4),职工号C(4),工资Y)订购单表(职工号C(4),供应商号C
对于图书管理数据库,分别求出各个单位当前借阅图书的读者人次,下面的SQL语句正确的是______。SRLRCT单位,______FROM借阅,读者WHERE;借阅.借书证号=读者.借书证号______
有"部门表"和"职工表",内容如下:部门.dbf:部门号C(8),部门名C(12),负责人C(6),电话C(16)职工.dbf:部门号C(8),职工号C(10),姓名C(8),性别C(2),出生日期D查询每个部门年龄最长者的
向项目中添加表单,可以使用项目管理器的
(1)新建一个名为“学生管理”的数据库。(2)将“学生”“成绩”和“课程”3个自由表添加到新建的数据库“学生管理”中。(3)通过“学号”字段为“学生”表和“成绩”表建立永久联系。(4)为上面建立的联系设置参照完整性约束:更新和删除规则为“
随机试题
WheredidMarygo?
对一定摩尔量的真实气体,当其压力、温度由状态1变化为状态2时,由真实气体状态方程式可推导出下列方程式()。
什么是线程?简述进程与线程的关系。
确立劳动、资本、技术和管理等生产要素按贡献参与分配的原则,说明生产要素是创造价值的源泉。
下列疾病不属于单基因遗传性皮肤病的是
患者,男,65岁。神志痴呆,表情淡漠,举止失常,面色晦滞,胸闷泛恶,舌苔白腻,脉滑。其病机是
[2004年第115题]超高层建筑的各避难层,应每隔多少米设置一个消防专用电话分机或电话塞孔?
A、 B、 C、 D、 C数列中,前项的分子+前项的分母=后项的分子,前项的分母+后项的分子=后项的分母。因此,待选项分子应为21+34=55,分母为34+55=89。
A、Becausepeopleexposetoomuchtothecomputer.B、Becausepeopledon’tcareaboutthelowlevelsofradiation.C、Becausethec
A、Frametent.B、Sleepingbags.C、Atinopener.D、Nothingatall.D男士说孩子们肯定喜欢去法国野营度假,可是他们什么用具都没有。女士告诉他一切都是准备好了的(Everythingispro
最新回复
(
0
)