以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]sum(数量) 为空变为0的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=39254) |
-- 作者:jnletao -- 发布时间:2013/8/19 18:21:00 -- [求助]sum(数量) 为空变为0的问题 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 -- 发布时间:2013/8/19 18:45:00 -- 空值处理函数 ISNULL 判定一个表达式的值是否为空,如果不为空,则返回表达式的值,否则返回一个替代值。 语法 ISNULL(expression, value) expression:一个表达式,如果此表达式的值不为空,则返回此值。 例如: Select 日期, 产品, 数量, 数量, 单价, ISNULL(折扣,0) As 折扣 From {订单} 上述的语句中,如果已经输入折扣,则正常显示折扣,否则折扣列显示的是0。 |
-- 作者:有点甜 -- 发布时间:2013/8/19 19:17:00 -- 如果是access数据库,就使用iif函数,如果是sqlserver数据库,就是 when case 语法 iif(sum(数量)=0, null, sum(数量))
|
-- 作者:qhczy -- 发布时间:2013/8/19 22:09:00 -- select sum(isnull (数量,0)) 数量 |