我正在尝试仅根据安装和删除日期来跟踪库存,并报告在任何给定日期安装的内容。仍在安装的记录没有删除日期。所以我试图将删除日期设置为Date(now())
. 但是当我在之间添加时install_date
,removal_date
它只会找到两个日期的记录。
我有一个包含 的库存表name
,install_date
并且removal_date
我有一个master_date
包含从 2012-01-01 到 2014-12-31 的所有日期的表
Select inventory.name,
inventory.install_date,
IFNULL(inventory.removal_date,DATE(NOW())),
master_date.date
FROM inventory, master_date
WHERE master_date.date BETWEEN inventory.install_date
AND inventory.removal_date
如果我删除 between 子句,它会设置removal_date
为 NOW,但会继续包含removal_date
NOW 之前的记录。使用 where 子句,它只返回removal_date
不为空但日期字段正确的记录。
如何使用 NOW 代替 NULLremoval_date
并返回正确的记录?