私は次のようなクエリを持っています
select * from table1 where id >20 and marks1 <40 and marks2 <30;
しかし、たとえば、別の条件に基づいて最後の条件を削除する必要があります
そうmarks3 >40 then use marks2 <30
でない場合は、この条件を削除します。
出来ますか。
前もって感謝します....
とてもシンプルです。「or」句を使用して条件を追加するだけです。
select * from table1 where id >20 and marks1 < 40 and (marks3 <= 40 or (marks3 > 40 and marks2 <30));
mark3 <= 40の場合、外側の括弧内の式はTrueと評価されます。それ以外の条件は問いません。mark3 > 40
の
場合、内側の括弧内の式がTrueとして評価されるには、marks2が< 30である必要があります。これにより、完全な外側の括弧がTrueとして評価されます。
これを試して。
select *
from table1
where id > 20 and
marks1 < 40 and
(
(marks3 >40 and marks2 <30) or
mark3 <= 40
)