0

我已经使用 jQuery、php 和 SQL server 2008 实现了自动建议搜索。我正在按他们的名字寻找人。人名分为三个字段“名词”、“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";

因此,如果您按姓名或姓氏搜索,我的查询工作正常,但是如果您按全名搜索,则没有匹配项。那么,如何在查询中添加条件以匹配全名?

4

1 回答 1

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";
于 2012-08-01T17:28:48.223 回答