sql - 如何根据参数值更改 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 的初学者,所以我无法弄清楚..
解决方案
推荐阅读
- java - 如何在其他实体中两次映射同一列
- ruby - 尝试设置一个 Ruby 邮件程序,我收到:ActionView::MissingTemplate
- java - Java spring 排序和过滤
- python - 有没有办法重命名重复标题并选择正确的python列?
- ios - 如何将 CGRect 转换为 CGPoint iOS Swift
- java - 如何修复“变量可能尚未初始化”
- sql-server-2012 - Sql server 2012 连接查询问题。我想加入两个表,我想得到第一个表的完整数据和第二个表的完整数据
- python-3.x - 如何使用python从sharepoint文件夹/链接中获取文件?
- php - UNION ALL 影响从数据库回显的日期时间变量
- c# - 如何在 Web 服务中验证 Azure AD Web 表单令牌