【问题标题】:filter a set of result based on different condition根据不同的条件过滤一组结果
【发布时间】:2022-01-23 10:09:06
【问题描述】:

我要选择以下是否匹配

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

记录:

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

我想要的结果:

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

我现在正在这样做:

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

【问题讨论】:

    标签: sql


    【解决方案1】:

    试试paranthesis:

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

    【讨论】:

      猜你喜欢
      • 2021-10-12
      • 2019-10-26
      • 1970-01-01
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      • 2016-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多