给出下表definition
我的查询是这样写的:
select id,
(
case
when partial >= 2 and full >=2
then sum(partial+full)
when partial >=2
then partial
when full >= 2
then full
else 0
end
) counts
from Foo
为了确保内部的when子句,我必须做的最小检查次数是什么:
partial>=2
和full >=2
未被调用两次。那就是当/然后语法将所有内容视为其他ifs而不仅仅是直接ifs时的情况呢?
答案 0 :(得分:1)
你可以做到
select id,
(
case when partial >= 2 then partial else 0 end +
case when full >= 2 then full else 0 end
) counts
from Foo