Alvin
Alvin

Reputation: 8499

filter a set of result based on different condition

I want to select if the following is matched

Exit = 'OUT' and Status = 'SUCC' or 'ACPT'
Exit = 'IN' and Status = 'SUCC' or 'ACPT' or 'PEND

Records:

ID|Exit  |Status
1 |OUT   |SUCC
2 |OUT   |ACPT
3 |OUT   |PEND
4 |IN    |PEND
5 |IN    |SUCC
6 |IN    |ACPT

The result I want:

ID|Exit  |Status
1 |OUT   |SUCC
2 |OUT   |ACPT
4 |IN    |PEND
5 |IN    |SUCC
6 |IN    |ACPT

I am doing this now:

SELECT * FROM table WHERE Status = 'PEND' or  Status = 'SUCC' or  Status = 'ACPT'

Upvotes: 0

Views: 24

Answers (1)

Arun
Arun

Reputation: 1106

Try with paranthesis:

SELECT *
FROM your_table
WHERE (Exit ='OUT' AND Status IN('SUCC','ACPT'))
OR (Exit ='IN' AND Status IN('SUCC','ACPT', 'PEND'))

Upvotes: 1

Related Questions