2012-08-01 75 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