在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”将检索与我要查找的所有条件都不匹配的记录。
答案 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)
感谢大家的帮助,得知我的查询过于严格,我没有考虑到文本识别中的大写字母。