在SQL select语句中将多个列值合并为单个值

时间:2012-06-29 22:18:41

标签: php mysql

我有一个自动填充字段,用户可以按相同的顺序输入lastname firstname middlename。

使用lastname firstname middlename(作为术语)我必须显示自动完成下拉列表。

在我的数据库中,我有3列firstname lastname和middlename。现在我必须将同一行的3个列值(asc_lastname,asc_firstname,asc_middlename)与用户输入(term)进行比较。

这是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'

抱歉我的判决很差。

1 个答案:

答案 0 :(得分:3)

尝试此查询:

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

Documentation for CONCAT