oracle sql语句求 sum 但是 where条件中有为空的部分

比如说selectsum(XXX)fromTTTwhereuserattribute1in('1111')--有值anduserattribute2in('22222',... 比如说
select sum(XXX)
from TTT
where userattribute1 in ('1111') --有值
and userattribute2 in ('22222', '333333') --这个条件sum为空
and userattribute3 in ('1') -- 有值
于是这么写sql的话 sum结果会为空。 不想分开写,但是解决第二个条件为空,但是sum起来是另外两个条件的和。请大神指点如何实现?
我简化一下问题
select sum(XXX)
from TTT
where userattribute1 ='1111' --条件有值
and userattribute2 in ('22222', '333333') --条件sum为空
加上or判断之后 总体的sum还是为空。 单独sum条件1是有值的,加上第二个条件总体就为空了。
展开
 我来答
hongyaofu
推荐于2017-10-06 · TA获得超过1088个赞
知道大有可为答主
回答量:1227
采纳率:87%
帮助的人:524万
展开全部
select sum(XXX)
  from TTT
 where userattribute1 ='1111' --有值
   and ( userattribute2 in ('22222', '333333') --这个条件sum为空
         or userattribute2 is null )
   and userattribute3 ='1' -- 有值
追问
谢谢,但是问题还是没有解决,我简化一下问题
select sum(XXX)
from TTT
where userattribute1 ='1111' --条件有值
and userattribute2 in ('22222', '333333') --条件sum为空
加上or判断之后 总体的sum还是为空。 单独sum条件1是有值的,加上第二个条件总体就为空了。
追答
那说明你的数据库没有满足条件:
( userattribute2 in ('22222', '333333') or userattribute2 is null )
的记录.
你直接用第二个条件试试.....
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式