0

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

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

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

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

Concat_ws (' ', firstname, lastname) as fullname

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

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

谢谢

4

2 回答 2

1

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

例如

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

但是,是的,创建一个新字段以优化性能是个好主意
并确保函数名称后没有空格

于 2013-07-23T11:29:55.460 回答
1

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

最好的解决方案是使用全文搜索

于 2013-07-23T11:33:55.307 回答