老师给留的作业,其他问题还好都攻克了,只是这个还有疑问,昨天去找老师答疑,老师没在,所以求助各位了!
在罗斯文数据库中,"订单"表中显示了每个"订单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,还希望各位赐教!!
在罗斯文数据库中,"订单"表中显示了每个"订单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,还希望各位赐教!!
SELECT top 5 订单.订单ID, 订单.客户, SUM(订单详情表.数量 * 订单详情表.单价) as 订单额 FROM 订单 INNER JOIN 订单详情表 ON 订单.订单ID = 订单详情表.订单ID GROUP BY 订单.订单ID, 订单.客户 order by SUM(订单详情表.数量 * 订单详情表.单价) desc
以上代码在Access调试通过。