Mysql - 对我的业务逻辑有点帮助

时间:2012-05-08 15:58:30

标签: mysql

我在eshop中有一个产品表(idstockavailability,....),到目前为止,我的业务逻辑是:

在下列情况下可以使用产品:

  • 如果可用性= 0且库存> 0
  • 如果可用性> 0且库存> = 0

我使用可用性通知客户购买后将发货的天数,并设置availability = 0以确定该产品仅在库存>时可用。这样,当我设置availability = 0和stock = 0时,产品就会变得不可用。

我不确定是否

select * from product where (availability=0 and stock>0) or (availability>0 and stock>=0)

会起作用,似乎很简单。有什么想法吗?

2 个答案:

答案 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,则不需要在查询中包含它。