首先将order detail表全部内容复制到od bak表,然后完成如下操作: (1)将od bak表中的订单号字段值只保留最后一个字母(用REPLACE命令或SQLUPDATE命令完成修改)。 (2)用SQL语句对0d bak表编写完成

admin2013-02-18  35

问题 首先将order detail表全部内容复制到od bak表,然后完成如下操作:
    (1)将od bak表中的订单号字段值只保留最后一个字母(用REPLACE命令或SQLUPDATE命令完成修改)。
    (2)用SQL语句对0d bak表编写完成如下功能的程序:
    ①把“订单号”相同并且“器件号”相同的订单合并为一条记录,“单价”取最低价,“数量”取合计。
    ②结果先按新的“订单号”升序排序,再按“器件号”升序排序。
    ③最终记录的处理结果保存在0d new表中,表中的字段由“订单号”、“器件号”、“器件名”、“单价”和“数量”构成。
    (3)最后将程序保存为progl.prg,并执行该程序。

选项

答案本题主要考查的是程序的建立方法、SQL分组与计算查询语句、记录的修改方法。本题的SQi。分组与计算查询语句比较复杂,本题大概可以分为以下几步: 首先利用select语句将order—detail表的记录复制到新表中,该语句比较简单。 接着,利用uPDATE语句更新表中的记录值,不熟悉uPDATE语句的考生也可以通过replace…with…命令更新。 最后,通过SQL分组与计算查询语句对记录进行合并,其中用到了min()和sum()函数计算,分组语句则要求同时对两个字段进行分组,首先是按订单号字段分组,接着再按配件号分组,分组计算完毕之后,再通过0rder by短语对查询结果进行排序,最后保存查询结果到新表中。 【操作步骤】 步骤1:在命令窗口执行命令:SELECT*FROMorder—detai l INTO TABLE od—bak,order detail表的全部内容复制到od bak表中。 步骤2:在命令窗口执行命令:uPDATE od—bak SET订单号=RIGHT(ALLTRIM(订单号),1),将od ball表中的“订单号”字段值只保留最后一个字母。 步骤3:在命令窗口执行命令:MOD工FY COMMANDPROGl,新建程序并打开程序编辑器。 步骤4:在程序编辑器中输入如下程序代码: SELECT订单号,器件号,器件名,; MIN(单价)AS单价,sUM(数量)AS数量; FROM OD—BAK; GROUP BY订单号,器件号; ORDER BY订单号,器件号; INTO TABLE OD—NEW 步骤5:单击“保存”按钮,并运行程序。

解析
转载请注明原文地址:https://kaotiyun.com/show/cjsp777K
0

最新回复(0)