【问题标题】:How to write a sql query that returns matches from a two searchvalues如何编写从两个搜索值返回匹配项的 sql 查询
【发布时间】:2019-12-06 14:15:47
【问题描述】:

我正在尝试创建一个搜索功能,用户可以在其中组合两个值来搜索联系人列表中的人。 我希望数据库返回两个值都匹配的 posts

现在我已经尝试这样做了:

input = searchValueA, searchValueB

SELECT *
FROM ContactsList
WHERE lastName LIKE '%searchValueA%'
    OR firstName LIKE '%searchValueA%'
    OR company LIKE '%searchValueA%'
    OR phoneNumber LIKE '%searchValueA%'
        AND lastName LIKE '%searchValueB%'
   OR firstName LIKE '%searchValueB%'
   OR company LIKE '%searchValueB%'
   OR phoneNumber LIKE '%searchValueB%'; 

但这会返回匹配任一搜索值和两者的帖子。我只想获取两个搜索值都匹配的帖子。 我可以重新定义查询以使其执行我想要的操作吗?

【问题讨论】:

    标签: sql sqlite jdbc


    【解决方案1】:

    我认为您希望在这种情况下使用括号:

    WHERE (lastName LIKE '%searchValueA%' OR
           firstName LIKE '%searchValueA%' OR 
           company LIKE '%searchValueA%' OR
           phoneNumber LIKE '%searchValueA%'
          ) AND
          (lastName LIKE '%searchValueB%' OR
           firstName LIKE '%searchValueB%' OR
           company LIKE '%searchValueB%' OR
           phoneNumber LIKE '%searchValueB%'
          );
    

    【讨论】:

      猜你喜欢
      • 2013-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-01
      • 1970-01-01
      相关资源
      最近更新 更多