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是有值的,加上第二个条件总体就为空了。 展开
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是有值的,加上第二个条件总体就为空了。 展开
1个回答
展开全部
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 )
的记录.
你直接用第二个条件试试.....
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询