在PostgreSQL中结合多个'AND'与'LIKE'语句

时间:2018-10-06 16:54:59

标签: sql postgresql where sql-like

在PostgreSQL中构建基本的搜索工具。

当我设置如下所示的基本查询时,我会接收数据。

SELECT *
FROM schema_name.table_name
WHERE column_name1 = 'sometext' AND column_name2 LIKE '%sometext%'
;

但是,当我对如下所示的where子句有更多条件时,查询确实会执行,但是我没有收到数据。

SELECT *
FROM schema_name.table_name
WHERE column_name1 = 'sometext' AND column_name2 LIKE '%sometext%' AND column_name3 = 'somemoretext'
;

我已经测试了单个查询,以确保有满足所有条件的记录并且它们存在。但是,我找不到一种将条件绑定到一个查询中的方法。我在网上看到的大多数示例都在两种情况下停止,或者不将“ AND”与“ LIKE”结合使用。任何帮助将不胜感激,谢谢!

-编辑1从这里开始-

在PostgreSQL中不生成数据的示例查询

SELECT *
FROM ctgov.studies
WHERE (overall_status = 'Recruiting') AND (official_title LIKE '%immunotherapy%') AND (source LIKE '%university%')
;

当我通过网站执行相同的搜索时,我收集了数据库的数据,它返回了163条匹配记录。在这种情况下使用“ OR”将检索与我要查找的所有条件都不匹配的记录。

2 个答案:

答案 0 :(得分:0)

我认为您需要OR而不是AND

  SELECT *
    FROM schema_name.table_name
    WHERE column_name1 = 'sometext' OR column_name2 LIKE '%sometext%' OR column_name3 = 'somemoretext'

答案 1 :(得分:0)

感谢大家的帮助,得知我的查询过于严格,我没有考虑到文本识别中的大写字母。