我在eshop中有一个产品表(id
,stock
,availability
,....),到目前为止,我的业务逻辑是:
在下列情况下可以使用产品:
我使用可用性通知客户购买后将发货的天数,并设置availability = 0以确定该产品仅在库存>时可用。这样,当我设置availability = 0和stock = 0时,产品就会变得不可用。
我不确定是否
select * from product where (availability=0 and stock>0) or (availability>0 and stock>=0)
会起作用,似乎很简单。有什么想法吗?
答案 0 :(得分:1)
在你的情况下使用它:
select *from products where availability>=0 and stock>0
答案 1 :(得分:0)
您可以通过组合它们来简化这一点,因为两者都在检查库存> 0
Select * from product where stock>0;
这是因为只要股票> 0,可用性几乎无关紧要。当你指定stock = 0时它仍然不可用,但是你说当它可用性= 0时它应该是可见的,当> 0时,只要股票> 0.假设您没有提供可用性< 0,则不需要在查询中包含它。