Oracle SQL的where子句与case when不同



这个愚蠢的问题,因为我想用where子句这两个选项来启动select语句,并将其固定在我可以过滤的部分;如果RS_BEM是A1或A2,则搜索不在列表中的ID,如果有任何其它搜索在列表中";。

and Case when :RS_BEM like 'A1' or :RS_BEM like 'A2' then ate_msg_nr not in (select * from StoerIDs) else ate_msg_nr in (select * from StoerIDs) end

我打赌这是超级容易,但不知怎么的,我看不出来。

使用ANDOR和括号:

where (:RS_BEM in ('A1', 'A2') and ate_msg_nr not in (select * from StoerIDs))
or (:RS_BEM not in ('A1', 'A2') and ate_msg_nr in (select * from StoerIDs))

相关内容

  • 没有找到相关文章

最新更新