1

我有一个如下表(记录)。

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

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

因此我想选择

ID           Status
AA124         Pass
AA125         Pass
Z_AA134       Fail
P4235         Fail

从上表。

我的选择查询只产生 Z_ 而不是其他的(显然)

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

2 回答 2

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

SQL Fiddle 的工作示例。

于 2012-07-26T18:47:37.033 回答
2

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

select *
from t
where status = 'Fail' or left(id, 2) <> 'Z_'
于 2012-07-26T18:51:44.707 回答