首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >准确地搜索3列名称

准确地搜索3列名称
EN

Stack Overflow用户
提问于 2018-02-05 14:30:35
回答 2查看 28关注 0票数 0

下面是我的问题:

代码语言:javascript
运行
复制
SELECT *
FROM people
WHERE CONCAT(nameF, ' ', nameM, ' ', nameF) like %Johny English%;

示例表:

代码语言:javascript
运行
复制
nameF    nameM   nameL
-------+-------+------
Johny    Deep     English

我想得到上面数据行的结果。但是当我运行查询时,它并不匹配。我知道我遗漏了一段代码来准确地匹配数据。此外,我想满足用户的,即使他们的输入像“英语约翰”或“约翰迪”。

请帮我解决这个问题。任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

发布于 2018-02-05 14:32:37

我不明白将这三个name字段连接起来,然后尝试进行比较的意义。相反,我建议您只需逐个检查name字段:

代码语言:javascript
运行
复制
SELECT *
FROM people
WHERE nameF = 'Johny' AND nameL = 'English';

关于输入格式,只需分别征求这三个名称即可。

票数 0
EN

Stack Overflow用户

发布于 2018-02-05 14:51:56

你应该试着这样做

代码语言:javascript
运行
复制
 SELECT *
 FROM people
 WHERE (nameF like '%Johny%' or nameM like '%Johny%' or nameL like '%Johny%') 
 and where (nameF like '%English%' or nameM like '%English%' or nameL like '%English%') ;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48616951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档