设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] 请问大家iif做何解释,比如如下语句

[复制链接]
跳转到指定楼层
1#
发表于 2007-3-11 20:12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SELECT csc.MO_NAME, [channel], Format([CURRDATE],"yyyy/mm/dd") AS [date], [period], round([ST22]/3600,4) AS 话务量, iif(([st6]+[st7])>0,round(([st8])/([st6]+[st7]),4)) AS 信道阻塞率
FROM csc, cm_cell_info
WHERE csc.mo_name=cm_cell_info.name And ([ST22]/3600)<0.4 and iif(([st6]+[st7])>0,round(([st8])/([st6]+[st7]),4))<=0.05 and csc.PERIOD>=9 And [channel]=7 AND POWER="500mw"
ORDER BY [MO_NAME], Format([CURRDATE],"yyyy/mm/dd"), [period];


上述语句有问题吗,只要帮我解释一下与iif相关的段落就可以了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-3-11 20:16:00 | 只看该作者
把它当作:如果...就...否则...
3#
 楼主| 发表于 2007-3-11 20:29:00 | 只看该作者
那上面的意思是说如果ST6+ST7>0,就计算计算ST8/ST6+ST7,并提取该条记录。如果不大于0,就不计算了,那么,它还会不会提取记录呢,因为这个字段(ST8/ST6+ST7)我可以不要,但另外的字段可能是我需要的啊,对吧,会提取吗?
4#
发表于 2007-3-11 20:39:00 | 只看该作者
大于0的记录才显示,其它的不显示了,除非再加一个IIF来提取另一个条件的记录
5#
 楼主| 发表于 2007-3-11 21:25:00 | 只看该作者
如果我吧WHERE子句中的IIF删除,那记录就应该提取了,那该字段显示的结果是什么呢?
6#
发表于 2007-3-11 21:34:00 | 只看该作者
自己测试下不就知什么结果了吗?
7#
 楼主| 发表于 2007-3-11 22:29:00 | 只看该作者

呵呵,

说的对,已经知道了。不过新问题又来了,分母为0的计算结果为空值,既非空格,也非0,请问要单独提取改如何些WHERE语句?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-8 20:20 , Processed in 0.125758 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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