【发布时间】:2021-10-05 01:48:55
【问题描述】:
我正在尝试创建一个查询,以返回距到期日期不到一个月的产品。 在一个列中,我使用 DateAdd 来根据产品的接收日期知道到期日期是什么时候。然后在另一列中,我使用 DateDiff 来计算到期日期之前的天数,以便我可以应用
产品表 |产品名称 |预计持续时间 | | ------------ | ------------------ | |一个 | 365 | |乙| 30 |
人员表: |人 |产品名称 |接收日期 | | ------ | ------------ | ------------ | |姓名1 |一个 | 2020 年 12 月 5 日 | |姓名2 |乙| 26-08-2020 |
我的第一个意图是创建一个基于 ReceiveDate 和 EstimatedDuration 计算到期日期的查询。之后我想知道例如下个月到期的所有产品。
SQL代码是:
SELECT [Products].[ProductName], [People].[ReceiveDate], [Products].EstimatedDuration, DateAdd("w",[Products].[EstimatedDuration],[People].[ReceiveDate]) AS ExpirationDate, DateDiff("d",Date(),[ExpirationDate]) AS Days
FROM [Products] INNER JOIN [People] ON [Products].ProductName= [People].[ProductName]
WHERE ((([Products].EstimatedDuration) Is Not Null)) AND ((DateDiff("d",Date(),[ExpirationDate]))<30));
WHERE 条件是因为在我的产品表中我的所有产品都没有 EstimatedDuration。
提前感谢您的帮助!
【问题讨论】:
-
样本数据和期望的结果会很有帮助。
-
过期日期是什么数据类型?接收日期是什么数据类型?
-
对不起!已经编辑了问题,所以它会更清楚