我想根据价格、品牌和类别来筛选产品。但这些都不是必需的。因此用户可以只根据价格或价格和品牌来过滤产品。如何只使用查询在mysql中编写。我搜索了很多,但在存储过程的帮助下找到了解决方案。
如果我写这个查询 select * from product where brandid = 1 AND price = 10 and categoryid = 5
. 它将获取2个满足where子句的产品。
但是如果用户不想根据品牌(比方说)来过滤产品,那么查询会是什么呢? select * from product where brandid = null AND price = 10 and categoryid = 5
... 这将不起作用,因为我不想搜索产品与brandid为空。我想从where条件中删除那个特殊的子句。那么我期望的查询是什么 select * from product where price = 10 and categoryid = 5
1条答案
按热度按时间jdgnovmf1#
以增量方式构造查询。这里是ruby(因为您没有标记编程语言),但是逻辑是完全独立于语言的。