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