インストール日と削除日のみに基づいて在庫を追跡し、特定の日にインストールされたものを報告しようとしています。まだインストールされているレコードには削除日がありません。そのため、削除日を に設定しようとしていDate(now())
ます。しかし、その間に追加するinstall_date
とremoval_date
、両方の日付を持つレコードのみが見つかります。
を含む在庫テーブルがあり、name
2012-01-01から 2014-12-31 までのすべての日付を含むテーブルがあります。install_date
removal_date
master_date
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 句を削除すると、NOW に設定されますが、 NOW より前removal_date
のレコードが引き続き含まれます。removal_date
where句を使用すると、removal_date
nullではないが日付フィールドが正しいレコードのみが返されます。
removal_date
NULL の代わりに NOW を使用して、正しいレコードを返すにはどうすればよいですか?