2016-10-24 6 views

答えて

2

CASE式は、例えばそのロジック、中に複数の列を使用することができます

CASE WHEN col1 > val1 AND col2 > val2 THEN 1 ELSE 0 END 

しかしCASE式は単一のスカラー値を返す必要があります。

+0

まさにそれが私のために働いています...そのような迅速な助けをありがとう...すみません私は十分な評判を持っていないので、Uの答えをアップアップしないでください.. :) – GSG

0

何あなたはカントませんが、あなたは、このようなマルチ際句ステートメントを使用することができます。

select 
case when .... end col_a, 
case when .... end col_b 
from 
xxxx 
0

もちろん可能です。例えば:

select ... 
from emp 
where case when bonus is null then salary else salary + bonus end > 4000 

ここempはテーブルであり、bonussalaryは、そのテーブルの列のうちの2つです。同じWHERE句はより簡単に表現することができますが、再形式化に関係なく、両方の列を参照します。 (そして、どこかの種類のケースがあるでしょう - NVLとCOALESCEは異なる構文のCASE式です)

関連する問題