(1) modil.prg程序文件中SQL SELECT语句的功能是查询哪些零件(零件名称)目前用于三个项目,并将结果按升序存入文本文件results.txt。给出的SQLSELECT语句中在第1、3、5行各有一处错误,请改正并运行程序(不可以增、删语句或

admin2017-03-29  32

问题 (1) modil.prg程序文件中SQL SELECT语句的功能是查询哪些零件(零件名称)目前用于三个项目,并将结果按升序存入文本文件results.txt。给出的SQLSELECT语句中在第1、3、5行各有一处错误,请改正并运行程序(不可以增、删语句或短语,也不可以改变语句行)。
(2)根据项目信息(一方)和使用零件(多方)两个表、利用一对多报表向导建立一个报表,报表中包含“项目号”、“项目名”、“项目负责人”、(联系)“电话”、(使用的)“零件号”和“数量”6个字段,报表按项目号升序排序,报表样式为“经营式”,在总结区域(细节及总结)包含零件使用数量的合计,报表标题为“项目使用零件信息”,报表文件名为report。

选项

答案(1)步骤1:命令窗口执行: MODIFY COMMAND MODI1,打开modil.prg程序,命令代码如下: SELECT零件名称FROM零件信息WHERE零件号=; (SELECT零件号FROM使用零件; GROUP BY项目号HAVING COUNT(项目号)=3); ORDER BY零件名称; INTO FILE results 修改程序中的错误行,修改后的程序如下: SELECT零件名称FROM零件信息WHERE零件号IN; (SELECT零件号FROM使用零件; GROUP BY零件号HAVING COUNT(项目号)=3); ORDER BY零件名称; TO FILE results 步骤2:保存文件修改,在命令窗口执行命令: DO MODIl. PRG,执行程序文件。 SQL嵌套查询;SQL分组计算查询。 (2)步骤1:执行【文件】→【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在“新建”对话框中选“报表”选项,击“向导”按钮,弹出“向导选取”,选中“一对多报表向导”项,单击“确定”按钮,启动报表向导。 步骤2:“步骤1.从父表选择字段”中,单击“数据库和表”下拉列表框旁边的“…”按钮,在“打开”对话框中选中“项目信息”表,双击“可用字段”中的“项目号”、“项目名”、“项目负责人”和“电话”字段,将其添加到“选定字段”中,单击“下一步”。 步骤3:步骤2.从子表选择字段”的“数据库和表”下选中“使用零件”表,双击“可用字段”中的“零件号”和“数量”字段添加到“选定字段”中,单击“下一步”。 步骤4:在报表向导的“步骤3.为表建立关系”界面中系统自动建立两个表的联系,单击“下一步”按钮。 步骤5:“步骤4.排序记录”中双击“可用的字段或索引标识”中的“项目号”字段到“选定字段”列表中,再选择“升序”,单击“下一步”。 步骤6:“步骤5.选择报表样式”的“样式”下选“经营式”,单击“下一步”。 步骤7:“步骤6.完成”中的“报表标题”下方文本框中输入“项目使用零件信息”,单击“完成”按钮。 步骤8:在“另存为”对话框的“保存报表为:”框中输入表单文件名report,单击“保存”按钮。 创建简单报表。

解析 (1)本题主要考查的是用SQL嵌套查询、SQL计算查询。
本题的查询思路是:在内查询中,从“使用零件”表中获得目前用于三个项目的零件的“零件号”,在外查询中,从“零件信息”表中求出这些零件的“零件名称”。
程序第一处错误是嵌套查询中的运算符错误,因为内查询中获得的“零件号”可能不只是一个,而是一个集合,所以应该用“IN”运算符,而不是“=”。第二处错误是分组依据错误,根据题意,应该按照“零件号”分组。第三处错误是查询去向语句错误,将查询结果保存在文本文件中应使用TO FILE短语。
(2)本题的主要考核点是使用报表向导制作报表。按照向导提示操作即可。
转载请注明原文地址:https://kaotiyun.com/show/feIp777K
0

最新回复(0)