Как я могу изменить Где заявление на основе значения параметра - Postgres - PullRequest
0 голосов
/ 30 марта 2020

Я получаю значение состояния параметра в виде целого числа, 1, 2, 3 и т. Д. c, и это нормально, но поскольку один статус из параметров представляет 2 значения в базе данных, например, когда я получаю 2 в качестве статуса, мне нужно сравните, если status = 2 и status = 5, это означает, что я должен расширить свой оператор Where, так что вот мой запрос:

...rest of the query

WHERE products.company_id = $1 AND products.status = ANY ($10)
                               AND (products_files.check_date BETWEEN $2 AND $3)
                               AND ($6 IS NULL OR products.supplier_company_id = $6)  
                               AND ($7 IS NULL OR products.payment_method = $7) 
                               AND ($8 IS NULL OR products.status = $8) 

Теперь я хотел бы сделать что-то вроде «Если products.status = 2, чем давайте проверим для двух состояний вместо AND ($8 IS NULL OR products.status = $8) я бы хотел проверить что-то вроде

AND ($8 IS NULL OR products.status = 2 And product.status = 5)

Так как я действительно новичок в sql, я не могу понять это ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...