【问题标题】:Search the 3 columns of names accurately准确搜索3列姓名
【发布时间】:2018-07-14 23:27:38
【问题描述】:

这是我的查询:

SELECT *
FROM people
WHERE CONCAT(nameF, ' ', nameM, ' ', nameF) like %Johny English%;

示例表:

nameF    nameM   nameL
-------+-------+------
Johny    Deep     English

我想得到上面数据行的结果。但是当我运行查询时,它不匹配。 我知道我缺少一段代码来准确匹配数据。我也想满足用户,即使他们输入像“English John”或“John Dee”。

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

【问题讨论】:

    标签: mysql select sql-like


    【解决方案1】:

    你应该这样尝试

     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%') ;
    

    【讨论】:

      【解决方案2】:

      我看不出连接三个名称字段然后尝试进行比较的意义。相反,我建议只检查名称字段:

      SELECT *
      FROM people
      WHERE nameF = 'Johny' AND nameL = 'English';
      

      关于输入格式,三个名字分别征集即可。

      【讨论】:

        猜你喜欢
        • 2012-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-19
        • 2013-09-07
        • 2015-12-01
        • 2011-08-19
        • 1970-01-01
        相关资源
        最近更新 更多