跨连接字段的mysql搜索

跨连接字段的mysql搜索,mysql,search,Mysql,Search,我有一个客户表,上面有名字和姓氏以及其他详细信息的文件 在一个表单中,用户可以输入一个我正在进行的搜索,但只在唯一的领域进行搜索,例如在名字或姓氏中搜索john。这一切正常 然而,我不知道如何搜索,如果用户输入约翰·史密斯,这将是两个字段的组合。如何使用当前的数据结构进行此搜索 我尝试在select语句中添加一个字段,使用: Concat_ws (' ', firstname, lastname) as fullname 但是我不能在这个生成的字段上使用where并抛出一个错误 我应该创建一个

我有一个客户表,上面有名字和姓氏以及其他详细信息的文件

在一个表单中,用户可以输入一个我正在进行的搜索,但只在唯一的领域进行搜索,例如在名字或姓氏中搜索john。这一切正常

然而,我不知道如何搜索,如果用户输入约翰·史密斯,这将是两个字段的组合。如何使用当前的数据结构进行此搜索

我尝试在select语句中添加一个字段,使用:

Concat_ws (' ', firstname, lastname) as fullname
但是我不能在这个生成的字段上使用where并抛出一个错误

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


谢谢

您在where条件下不使用别名。而是使用完整的函数

e、 g

其中Concat_ws(“”,firstname,lastname)类似“%”
但是,是的,创建一个新的领域来优化性能是个好主意

确保函数名后面没有空格,这取决于所需的字段组合。例如,
firstname='john'和lastname='smith'
可以完成这项工作,但这可能不是您需要的


最好的解决办法是使用。

谢谢。正如你所说的海岸专栏的语法错误。现在在正确的位置工作。我还将研究全文选项。谢谢,谢谢。我还将研究全文搜索
where Concat_ws(' ', firstname, lastname) like '%<your search>%'