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 に答える