下面是我的问题:
SELECT *
FROM people
WHERE CONCAT(nameF, ' ', nameM, ' ', nameF) like %Johny English%;
示例表:
nameF nameM nameL
-------+-------+------
Johny Deep English
我想得到上面数据行的结果。但是当我运行查询时,它并不匹配。我知道我遗漏了一段代码来准确地匹配数据。此外,我想满足用户的,即使他们的输入像“英语约翰”或“约翰迪”。
请帮我解决这个问题。任何帮助都是非常感谢的。
发布于 2018-02-05 14:32:37
我不明白将这三个name字段连接起来,然后尝试进行比较的意义。相反,我建议您只需逐个检查name字段:
SELECT *
FROM people
WHERE nameF = 'Johny' AND nameL = 'English';
关于输入格式,只需分别征求这三个名称即可。
发布于 2018-02-05 14:51:56
你应该试着这样做
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%') ;
https://stackoverflow.com/questions/48616951
复制相似问题