设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 用IIF做的查询结果不对,求教帮助!

[复制链接]
跳转到指定楼层
1#
发表于 2010-5-13 16:21:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如附件中表tbl出库及查询qry出库。
我想统计出来提柜地点为"DCW"的司机姓名计数,可结果不正确(结果为“吴本田”=2)。
查询如下:
SELECT tbl出库.提柜人 AS 司机姓名, Sum(IIf([提柜地点]="DCW",1,0)+IIf([还柜地点]="DCW",1,0)) AS 大铲湾
FROM tbl出库
GROUP BY tbl出库.提柜人
ORDER BY tbl出库.提柜人;


正确的结果应该是:
吴本田=1
徐华=1

求教正确的查询做法,谢谢各位!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-5-14 08:37:26 | 只看该作者
本帖最后由 koutx 于 2010-5-14 09:08 编辑

第一个查询:qry出库1:

SELECT tbl出库.提柜人 AS 姓名, Sum(IIf([提柜地点]="DCW",1,0)+IIf([还柜地点]="DCW",1,0))/2 AS 大铲湾
FROM tbl出库
GROUP BY tbl出库.提柜人
HAVING (((Sum(IIf([提柜地点]="DCW",1,0)+IIf([还柜地点]="DCW",1,0))/2)>0))
ORDER BY tbl出库.提柜人;

第二个查询:qry出库2:
SELECT tbl出库.还柜人 AS 姓名, Sum(IIf([提柜地点]="DCW",1,0)+IIf([还柜地点]="DCW",1,0))/2 AS 大铲湾
FROM tbl出库
GROUP BY tbl出库.还柜人
HAVING (((Sum(IIf([提柜地点]="DCW",1,0)+IIf([还柜地点]="DCW",1,0))/2)>0));

联合查询:
SELECT 姓名, 大铲湾
FROM qry出库1
UNION ALL SELECT 姓名, 大铲湾
FROM qry出库2;
3#
 楼主| 发表于 2010-5-17 08:55:51 | 只看该作者
这个查询是作为报表的数据源的,请问有没有更好的办法?不用IIF?
有劳各位啦!
4#
发表于 2010-5-17 13:43:58 | 只看该作者
PARAMETERS 提柜地点 Text(20);
Select '提柜' As 类型, A.提柜人 As 司机姓名, Count(A.提柜地点) As 次数
From tb1出库 As A Where A.提柜地点 = [提柜地点]
Union All
Select '还柜' As 类型, B.还柜人, Count(B.还柜地点)  
From tb1出库 As B Where B.提柜地点 = [提柜地点]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 19:23 , Processed in 0.080040 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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