在不同列中过滤特定条件时除外

Filter on column except when certain condition in a different column

我对 Oracle 和 PeopleSoft 有点陌生,但这是我的问题。

我需要根据几个列条件从数据库中筛选出一些行,但如果这些条件满足单独列中的不同条件,它们仍应包括在内。这是我目前所拥有的:

SELECT * FROM PS_SAA_ACRSE_AVLVW 
WHERE CATALOG_NBR NOT LIKE '%000%' AND CATALOG_NBR NOT LIKE '%900%'

这很好用,但如果 CATALOG_NBR IS '900' AND SUBJECT 列是 'SAA',则应包括其中任何一个。

希望这是有道理的。

OR呢?

SELECT * FROM PS_SAA_ACRSE_AVLVW 
WHERE ( CATALOG_NBR NOT LIKE '%000%' AND CATALOG_NBR NOT LIKE '%900%' )
   OR ( CATALOG_NBR = '900' AND SUBJECT_column = 'SAA')