首页 > 解决方案 > 如何根据参数值更改 Where 语句 - Postgres

问题描述

我将参数状态值接收为整数、1、2、3 等,这很好,但由于参数中的一个状态代表数据库中的 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 的初学者,所以我无法弄清楚..

标签: sqlpostgresql

解决方案


推荐阅读