跨连接字段的mysql搜索

时间:2013-07-23 11:21:41

标签: mysql search

我的客户表中包含名字和姓氏以及其他详细信息。

在表单中,用户可以输入我已经工作的搜索但仅在唯一的fiel上搜索,例如以任何名字或姓氏搜索john。一切正常

但是我不知道如何搜索用户是否输入了john smith,这将是两个字段的组合。如何使用我当前的数据结构进行搜索?

我尝试使用以下方法在select语句中添加一个字段:

Concat_ws (' ', firstname, lastname) as fullname

但是我不能在这个生成的字段上使用哪里并抛出错误

我应该创建一个包含全名的新字段吗?

谢谢

2 个答案:

答案 0 :(得分:1)

您不在where where条件中使用别名。而是使用完整的功能

e.g。

where Concat_ws(' ', firstname, lastname) like '%<your search>%'

但是,是的,最好创建一个新字段来优化性能
并确保在功能名称

之后没有空格

答案 1 :(得分:1)

这取决于您想要的字段组合。对于你的例子firstname = 'john' AND lastname='smith'可以完成这项工作,但它可能不是你需要的。

最好的解决方案是使用fulltext search