在列上过滤除非在不同列中的特定条件

时间:2017-03-14 20:40:17

标签: oracle peoplesoft

我对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'任何这些都应该包括在内。

希望这是有道理的。

1 个答案:

答案 0 :(得分:2)

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')