gpt4 book ai didi

mysql - mySQL 中的多个条件

转载 作者:行者123 更新时间:2023-11-29 10:04:30 25 4
gpt4 key购买 nike

我想根据价格品牌类别过滤产品。但它们都不是必需的。因此,用户可以仅根据价格或价格和品牌来过滤产品。如何仅使用查询mySQL中编写此内容。我进行了很多搜索,但在存储过程的帮助下找到了解决方案。

如果我编写此查询从产品中选择*,其中brandid = 1 AND Price = 10且categoryid = 5。它将获取 2 个满足 where 子句的产品。

但是,如果用户不想根据品牌过滤产品(比如说),那么查询将是什么? 从品牌 ID = null 且价格 = 10 且类别 ID = 5 的产品中选择 *...这不起作用,因为我不想搜索品牌 ID 为空的产品。我想要的是从 where 条件中删除该特定子句。所以我期望的查询是 select * from Product whereprice = 10 and Categoryid = 5

最佳答案

增量构建查询。这里是 Ruby 语言(因为您没有标记编程语言),但逻辑完全独立于语言。

query = "SELECT * FROM products"
filters = []
params = []

if price_min
filters << "price >= ?"
params << price_min
end

if price_max
filters << "price <= ?"
params << price_max
end

if brand
filters << "brand = ?"
params << brand
end

# ...

unless filters.empty?
query += " WHERE " + filters.join(' AND ')
end

关于mysql - mySQL 中的多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52197792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com