2016-08-16 2 views
0

私はSQLクエリを持って、次の形式の言う:カスタマイズSQLクエリは、プログラム

select a, b, c from table t where t.a = "hello" and t.b = "there" and t.c = "world" group by a,b,c 

は、私が言うとき、Dがtrueに設定されるように上記の計算を決定するブール条件(d == true)を持っていると思い、上記のクエリを実行します、そしてdがfalseの場合、クエリは以下のコンパイルに減少します:

select a, b from table t where t.a = "hello" and t.b = "there" group by a,b. 

そのわずか1つのフィールド/列/条件を除外する必要がある場合句が役立つことができればシンプル/含ま。しかし、私が持っているクエリは、大文字と小文字のステートメント、ジョインなどの広範なものです。クエリの追加/編集が複数の場合は特に扱いにくく、クエリの一部を切り替えることで結果セットやカーディナリティの変更をテストする必要があります - table、column、groupby/where節。

これはoracle 11g (sql/pl-sql/t-sql)

を使用して達成することができる方法についての任意の提案ですか?

答えて

0

私は次はあなたの問題を解決しなければならないことだと思う:

select a, b, c 
from table t 
where 
t.a = "hello" and 
t.b = "there" and 
((d == true and t.c = "world") or d == false) 
group by a,b,c 

(ブール値が正しくないと等しい場合、私は私の謝罪ように、OracleのSQLに精通していないよ)