这是我的问题:
SELECT *
FROM people
WHERE CONCAT(nameF, ' ', nameM, ' ', nameF) like %Johny English%;
样本表:
nameF nameM nameL
-------+-------+------
Johny Deep English
我想获得上面数据行的结果。但是当我运行查询时,它不匹配。 我知道我缺少一些代码来准确匹配数据。我也想满足用户的需求。即使他们输入像#34;英语约翰"或者" John Dee"。
请帮我解决这个问题。 任何帮助都非常感谢。
答案 0 :(得分:0)
我没有看到连接三个名称字段然后尝试进行比较的重点。相反,我建议您单独检查名称字段:
SELECT *
FROM people
WHERE nameF = 'Johny' AND nameL = 'English';
关于输入格式,只需分别征集三个名称。
答案 1 :(得分:0)
你应该尝试这样
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%') ;