假设我有一个包含列的表:
`id`,`firstname`,`lastname`
有一些行,如:
'1','bob','marley'
'2','mary','jane'
我有一个类似这样的搜索查询(其中 'bob marley' 是我的搜索词):
select * where
(`firstname` like 'bob marley%')
or
(`lastname` like 'bob marley%')
但这只会在我搜索“bob”或“marley”而不是“bob marley”时获得成功
如何连接两列以匹配搜索词?
编辑:
该表将有数十万行,因此性能至关重要。 concat() 的效率是否足以在具有延迟按键调用的 ajax 搜索中工作?或者我应该重新设计我的表格或添加一个全文列进行搜索?
最佳答案
使用 MySQL 的 CONCAT
函数:
SELECT * FROM tablename WHERE CONCAT(firstname, ' ', lastname) LIKE 'bob marley%'
关于php - 在mysql中将两列合并为一,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5335723/