2013-03-14 153 views
0

我有这样的客户表:执行where子句

+----------+----------+---------+ 
| cliecode | cliename | deleted | 
+----------+----------+---------+ 
| 00001 | ABC  |   | 
| 00002 | DEF  |   | 
| 00003 | GHI  | yes  | 
| 00004 | JKL  |   | 
+----------+----------+---------+ 

而且我喜欢这个执行搜索查询:

SELECT * 
FROM client 
WHERE deleted ='' 
     AND cliecode LIKE '%$_POST[key]%' OR cliename LIKE '%$_POST[key]%' 

我想like条件之前来获取deleted = ''第一。我怎样才能做到这一点?谢谢。

回答

4

然后分组您OR条件通过将它们在括号内,

select * 
from client 
where deleted ='' and 
     (cliecode like '%$_POST[key]%' or cliename like '%$_POST[key]%') 
+1

感谢。我对MySQL并不擅长,所以感谢kababayan。 :) – xjshiya 2013-03-14 08:26:56

+0

不客气':D' – 2013-03-14 08:31:37

0

你设置删除字段中的任何defualt价值?

如果不是 -

然后将查询应该是 -

select * from client 
where 
deleted is null 
and cliecode like '%$_POST[key]%' 
or cliename like '%$_POST[key]%'