1

我有一个自动完成字段,用户可以在其中以相同的顺序输入姓氏名字中间名。

使用姓氏名字中间名(作为一个术语)我必须显示自动完成下拉菜单。

在我的数据库中,我有 3 列名字姓氏和中间名。现在我必须将同一行的 3 个列值(asc_lastname、asc_firstname、asc_middlename)与用户输入(术语)进行比较。

这是 SQL 查询。请纠正我的错误。

$rs = mysql_query( "select asc_lastname, asc_firstname, asc_middlename from issio_asc_workers INNER JOIN issio_workers_asc_sc_list 
ON  issio_asc_workers.lname_fname_dob=issio_workers_asc_sc_list.lname_fname_dob where issio_workers_asc_sc_list.center_id='$cid' 
AND issio_workers_asc_sc_list.center_user_type = '31' AND issio_workers_asc_sc_list.center_status <> 'deleted' AND 
(issio_asc_workers.asc_lastname+' '+issio_asc_workers.asc_firstname+' '+issio_asc_workers.asc_middlename) 
LIKE '". mysql_real_escape_string($term) ."%'  ORDER BY issio_asc_workers.lname_fname_dob ASC LIMIT 0,10");

是否可以使用 SQL 查询一次比较 3 列值,例如

 select * 
 from table 
 where (column1+''+column2+''column3) like 'this is good'

对不起我的糟糕句子。

4

1 回答 1

3

试试这个查询:

SELECT * FROM your_table WHERE CONCAT(column1, ' ', column2, ' ', column3) LIKE '%this is good%'

CONCAT 文档

于 2012-06-29T22:56:54.260 回答