省略SQL中的某些记录

时间:2012-07-26 18:46:19

标签: mysql sql

我有一张表(记录),如下所示。

ID           Status
AA124         Pass
AA125         Pass
Z_AA134       Fail
Z_AA135       Pass
P4235         Fail

我想要隐藏所有以Z_开头的记录,但不要隐藏以Z_开头并且状态为“失败”并显示其他记录的记录。

因此我想选择

ID           Status
AA124         Pass
AA125         Pass
Z_AA134       Fail
P4235         Fail

从上表。

我的选择查询只生成Z_但不生成其他(显然)

Select * from table where ID like 'Z_%' and status = 'Fail'

2 个答案:

答案 0 :(得分:5)

select  *
from    YourTable
where   ID not like 'Z|_%' escape '|' or Status = 'Fail'

Working example at SQL Fiddle.

答案 1 :(得分:2)

你并不总是需要使用,所以我想提供:

select *
from t
where status = 'Fail' or left(id, 2) <> 'Z_'