老师给留的作业,其他问题还好都攻克了,只是这个还有疑问,昨天去找老师答疑,老师没在,所以求助各位了!
在罗斯文数据库中,"订单"表中显示了每个"订单ID"字段对应的"客户"(引用了"客户"表中的"客户ID),一个客户会有多个订单.
在"订单详情"表中,列出了每个"订单ID"所对应的几种产品的数量和单价.老师的任务是选出订单额最大的前五名顾客.老师给了一种思路,但是我一运行就死机,可能没领会好精神.
例:
"订单"表
订单ID  客户
1100    A
1101    B
1102    A
1103    C
"订单详情表"
订单ID  产品  数量  单价
1100    猪肉   5     2
1100    大米   4     3
1100    大豆   5     5
1101    猪肉   4     4
1101    大米   3     2
1102    土豆   5     3
1102    猪肉   4     4
.........所以先得把订单详情表里按订单号加总,然后在"订单"表里再按"客户"(客户字段对应的是"客户表"的"客户ID"字段)加总.一直没能实现.
刚刚接触VB+Acess,还希望各位赐教!!

解决方案 »

  1.   


    SELECT top 5 订单.订单ID, 订单.客户, SUM(订单详情表.数量 * 订单详情表.单价) as 订单额  FROM 订单 INNER JOIN 订单详情表 ON 订单.订单ID = 订单详情表.订单ID GROUP BY 订单.订单ID, 订单.客户 order by  SUM(订单详情表.数量 * 订单详情表.单价) desc 
      

  2.   

    可是报错,说“join 操作语法错误”,我瞅了瞅网上,没有找到关于Join详细说法,还请赐教
      

  3.   

    SELECT top 5 订单.订单ID, 订单.客户, SUM(订单详情表.数量* 订单详情表.单价)as 订单额  FROM 订单 INNER JOIN 订单详情表 ON 订单.订单ID= 订单详情表.订单ID GROUP BY 订单.订单ID, 订单.客户 order by  SUM(订单详情表.数量* 订单详情表.单价) desc
    以上代码在Access调试通过。