2012-08-01 111 views
0

我使用jQuery,php和SQL Server 2008实现了自动搜索搜索。我正在通过他们的名字寻找人。这个人的名字被分成三个字段'nombres','apellido_paterno'和'apellido_materno'。我的自动建议匹配结果,其中三个字段中的一个看起来像输入文本中的模式。通过全名搜索自动搜索结果

$values = array(':x'=>$data['term'].'%',':y'=>$data['term'].'%',':z'=>$data['term'].'%'); 
    $sql = "SELECT TOP 10 id_persona, nombres +' '+ apellido_paterno +' '+ apellido_materno AS value 
       FROM personas WHERE nombres LIKE :x OR apellido_paterno LIKE :y OR apellido_materno LIKE :z"; 

所以我的查询工作正常,如果您按名称或姓氏搜索,但是如果您按全名搜索没有匹配。那么,如何将标准添加到我的查询中以便进行全名匹配?

回答

1

假设所有三个都是VARCHAR字段,你要查询的记录比较有限的数量,我只想做:

$values = array(':x'=>'%'.$data['term'].'%'); 
    $sql = "SELECT TOP 10 id_persona, nombres +' '+ apellido_paterno +' '+ apellido_materno AS value 
FROM personas 
WHERE 
nombres + ' ' + apellido_paterno + ' ' + apellido_materno LIKE :x"; 
+0

我不得不添加字段之间的空白,但你的答案的罚款。谢谢 – 2012-08-01 17:46:39