在sql请求中组合where、or和and子句

在sql请求中组合where、or和and子句,sql,Sql,我想为我的产品列表设置一个过滤器,这样当用户将店铺名称设置为时,仅显示所选店铺的产品,并且当用户同时设置价格限制时,它会显示所选店铺的产品,但也显示所需价格限制 我的sql请求是这样的,但他们告诉我这是错误的: select nom from produit where boutique_id=3 or ( boutique_id=3 and Prix<500) 从produit中选择nom,其中精品店id=3或(精品店id=3,Prix这是您想要的吗 select nom from

我想为我的产品列表设置一个过滤器,这样当用户将店铺名称设置为时,仅显示所选店铺的产品,并且当用户同时设置价格限制时,它会显示所选店铺的产品,但也显示所需价格限制

我的sql请求是这样的,但他们告诉我这是错误的:

select nom from produit where boutique_id=3 or ( boutique_id=3 and Prix<500) 
从produit中选择nom,其中精品店id=3或(精品店id=3,Prix这是您想要的吗

select nom
from produit
where boutique_id = 3 and (Prix < ? or ? is null);
选择nom
来自produit
其中精品店id=3且(Prix<?或?为空);

是您的价格参数的占位符。

您的查询有什么问题?它不起作用:/它仍然只适用于第一个条件onlyPrix<?这是正确的,但我希望它保持不变_id@Slim.aouadi这就是代码所做的。@melpomene只是为了clearin?我设定了价格限制还是什么?我不明白“or?为空”的意思what@melpomene我只是尝试了这个请求,但这不是我真正需要的我想用精品店id或者精品店id和价格来过滤产品time@Slim.aouadi这就是代码的作用。