设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1175|回复: 7
打印 上一主题 下一主题

[查询] 有關分組求和的難題求解(急)!!

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2002-10-15 03:07:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
難題求解:
有如下數據.
日期           訂單      部門     領料     型體       型體標準用量
2002/01/01     0001         a01          10           A024                100
2002/01/02     0001         a01          10           A024                100
2002/01/03     0001         a02          10           A024                100
2002/01/01     0001         a01          10           A025                200
2002/01/01     0001         a02          10           A025                200
2002/01/01     0001         a04          10           A024                100
2002/01/01     0002         a01          10           A024                100
2002/01/01     0002         a02          10           A024                100
2002/01/01     0002         a03          10           A025                200
2002/01/01     0002         a01          10           A026                300


能否我按訂單分組統計時,  同型體的型體標準量只取一個, 而不同型體的用量累加
如上面按訂單分組統計時應得出:

訂單     領料之和  標準用量之和
0001     60        300 (包含兩种型體 A024 A025 故取兩個型體的標準用量之和)

0002     40        600 (包含三种型體 A024 A025 A026 故取三個型體的標準用量之和)

實際情況訂單和型體的種類是非常多的.

我想了一個下午沒有想出一個好辦法,我想sql語句應該可以的,
不知有哪位高手知道用一條sql語句做出來, 用程序也可, 萬分感謝.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
8#
发表于 2002-10-17 02:03:00 | 只看该作者
我用3个查询可以做出来,但要做成一条SQL语句则不知从何下手
7#
发表于 2002-10-15 19:00:00 | 只看该作者
把第一个查询嵌入第二个查询作为子查询就是一条SQL语句:
把第二个查询里的 "From 查询1" 换成 "From (select ...) as 查询1"

点击这里给我发消息

6#
 楼主| 发表于 2002-10-15 07:31:00 | 只看该作者
非常谢谢大家
实际情况要复杂一些.

我再加个字段

日期         訂單  批号   部門 領料 型體 型體標準用量
2002/01/01 0001   01    a01  10  A024  100
2002/01/02 0001   01    a01  10  A024  100
2002/01/03 0001   02    a02  10  A024  100
2002/01/01 0001   02    a01  10  A025  200
2002/01/01 0001   03           a02  10  A025  200
2002/01/01 0001   03    a04  10  A024  100
2002/01/01 0002   01    a01  10  A024  100
2002/01/01 0002   02    a02  10  A024  100
2002/01/01 0002   02    a03  10  A025  200
2002/01/01 0002   02    a01  10  A026  300

我给客户做的系统是首先对上面所有的字段进行过滤,然后再对过滤结果作分组
因为我给客户设置了动态分组,即在查询时可动态按订单 或 订单+批号 或 订单+部门 或订单+批号或部门分组, 不论在哪种分组情况,都能把同种型体的用量取其中一个,而不同型体加总.

如上面按订单+批号分组,则应得出以下结果:
首先按订单+批号+型体 分组合计, 型体用量取一个

訂單  批号 領料 型體 型體標準用量

0001   01  20  A024  100
0001   02  10  A024  100
0001   02  10  A025  200
0001   03  10  A025  200
0001   03  10  A024  100
0002   01  10  A024  100
0002   02  10  A024  100
0002   02  10  A025  200
0002   02  10  A026  300

再按订单+批号做第二次分组, 用量求和,楼上的方面与我当时的想法差不多.

但如果客户又想再按订单+批号+部门分组, 则....

...
下次又想按订单+部门分组.....

因为我在窗体中可让用户随意挑先几个字段来分组,所以
如果上面功能能在一条SQL语句中实现,那动态生成上面的查询(包括分组和过滤条件),这样会容易些,还请指教, 谢谢.
5#
发表于 2002-10-15 06:45:00 | 只看该作者
做两个分类汇总,第一个按訂單、型體標準用量分组, 領料求和;
第二个对第一个再做一次分类汇总:按訂單分组, 領料、型體標準用量求和;
4#
发表于 2002-10-15 06:29:00 | 只看该作者
要做两个然后再合并。范例你要提供数据。

点击这里给我发消息

3#
 楼主| 发表于 2002-10-15 05:50:00 | 只看该作者
如何做,能否给个实例,我这会真想不出来,给出SQL语句好吗? 先谢啦
2#
发表于 2002-10-15 04:49:00 | 只看该作者
呀,这是标准求和查询啊。怎么会做不到呢?
"订单入口"中付款就是这么作出来的嘛
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-22 12:54 , Processed in 0.088825 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表