0

次のテーブル定義が与えられます

私はそのように書かれたクエリを持っています:

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>=22回呼び出されることはありfull >=2 ません。それは、構文がすべてを他のifとして扱い、単なるifだけではない場合に当てはまりますか?

4

1 に答える 1

1

できるよ

select id,  
(  
   case when partial >= 2 then partial else 0 end + 
   case when full >= 2 then full else 0 end  
) counts
from Foo

サンプルSQLFIDDLE

于 2013-01-11T20:58:22.183 に答える