Объединение нескольких операторов «И» и «НРАВИТСЯ» в PostgreSQL - PullRequest
0 голосов
/ 06 октября 2018

Создание базового инструмента поиска в 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'
;

Я проверил отдельные запросы, чтобы убедиться, что есть записи, которые удовлетворяют всем условиям, и они существуют.Однако я не могу найти способ связать критерии в один запрос.Большинство примеров, которые я видел, останавливается в Интернете при двух условиях или не объединяет «И» с «НРАВИТСЯ».Буду признателен за любую помощь, спасибо!

-Edit 1 начинается здесь-

Пример запроса, который не генерирует данные в PostgreSQL

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

Когда я выполняю тот же поиск черезна сайте я собираю данные для БД он возвращает 163 соответствующих записи.Использование «ИЛИ» в этом сценарии позволит получить записи, которые не будут соответствовать всем критериям, которые я ищу.

Ответы [ 2 ]

0 голосов
/ 07 октября 2018

Спасибо за помощь всем, узнал, что мои запросы были слишком строгими, и я не учел заглавные буквы в распознавании текста.

0 голосов
/ 06 октября 2018

Я думаю, вам нужно OR вместо AND

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