Foxtable(狐表)用户栏目专家坐堂 → [求助]sum(数量) 为空变为0的问题


  共有4537人关注过本帖树形打印复制链接

主题:[求助]sum(数量) 为空变为0的问题

帅哥哟,离线,有人找我吗?
jnletao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:943 积分:7802 威望:0 精华:0 注册:2013/7/7 13:37:00
[求助]sum(数量) 为空变为0的问题  发帖心情 Post By:2013/8/19 18:21:00 [只看该作者]

select distinct 颜色,规格,(select sum(数量) from {订单颜色规格表} b where a.颜色=b.颜色 and b.规格=a.规格) as 总数量,(select sum(数量) from {包号登记} c where a.颜色=c.颜色 and c.规格=a.规格) as 已裁数量,(select sum(包号) from {包号登记} d where a.颜色=d.颜色 and d.规格=a.规格) as 已裁包数,总数量-已裁数量 as 待裁数量 from {订单颜色规格表} a

这段代码在执行时, sum(数量) 如果为空,将来显示为空了. 请问如何在本语句中把sum(数量) 的空值变为0

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2013/8/19 18:45:00 [只看该作者]

空值处理函数

ISNULL

判定一个表达式的值是否为空,如果不为空,则返回表达式的值,否则返回一个替代值。

语法

ISNULL(expression, value)

expression一个表达式,如果此表达式的值不为空,则返回此值。
value
     一个替代值,如果表达式的值为空,则返回此替代值。 

例如:

Select 日期, 产品, 数量, 数量, 单价, ISNULL(折扣,0) As 折扣 From {订单}

上述的语句中,如果已经输入折扣,则正常显示折扣,否则折扣列显示的是0。
再次提示:0和空值是两回事,空值表示没有输入数据,而0意味着用户已经输入了一个为0的值。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/8/19 19:17:00 [只看该作者]

 如果是access数据库,就使用iif函数,如果是sqlserver数据库,就是 when case 语法

iif(sum(数量)=0, null, sum(数量))

 回到顶部
帅哥哟,离线,有人找我吗?
qhczy
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:274 积分:2451 威望:0 精华:1 注册:2010/9/14 13:18:00
  发帖心情 Post By:2013/8/19 22:09:00 [只看该作者]

select sum(isnull (数量,0)) 数量

 回到顶部