根据日期检查产品库存

时间:2014-04-02 16:40:06

标签: php mysql sql

请原谅我缺乏知识!我正在研究一个允许客户租用机器的系统(PHP和MySQL)。它允许用户注册,输入有关其工作的详细信息(位置,工作持续时间/日期),浏览机器/其他产品,将产品添加到他们的购物篮中并确认租用。预订将由员工处理,机器/产品将在指定日期交付给客户。系统无需处理付款,因为发票将在发货时发出。

我在数据库中有一个产品表,其中包括name,description,image,stock_quantity和daily_price。

我还有一个包含customer_id,start_date,end_date等的雇佣表。

我希望能够检查以确保产品在指定日期可用,以避免重复预订。

我该怎么做?

提前致谢。

1 个答案:

答案 0 :(得分:0)

这将返回指定日期尚未雇用的所有产品:

SELECT p.*
FROM products p
LEFT JOIN (SELECT product_id, COUNT(*) in_use
           FROM hire
           WHERE :specified_date BETWEEN h.start_date AND h.END_DATE
           GROUP BY product_id) h ON h.product_id = p.id 
WHERE stock_quantity - IFNULL(in_use, 0) > 0