我有一个像
这样的查询 select * from table1 where id >20 and marks1 <40 and marks2 <30;
但我需要根据另一个条件删除最后一个条件,例如
如果marks3 >40 then use marks2 <30
否则会删除此条件。
是否可能。
提前致谢....
答案 0 :(得分:2)
很简单。您只需要使用'或'子句添加条件。
select * from table1 where id >20 and marks1 < 40 and (marks3 <= 40 or (marks3 > 40 and marks2 <30));
如果 marks3&lt; = 40 ,则外括号内的表达式将被评估为 True 。其他条件是什么并不重要 如果 marks3&gt; 40 ,然后 marks2 必须&lt; 30 表示内括号内的表达式被评估为 True ,这使得完整的外括号被评估为 True 。
答案 1 :(得分:1)
试试这个。
select *
from table1
where id > 20 and
marks1 < 40 and
(
(marks3 >40 and marks2 <30) or
mark3 <= 40
)