我有一个问题,我根本无法弄清楚。我有一个不同旅行日期的员工名单,我想以级联列表格式显示所有人。问题是我只想看到员工一次,只有最接近今天的日期。访问SQL查询:比较选择语句中的日期
例如,我可以在那里多次使用'Smith',日期在今天之前和之后,因为我们也保留了历史记录。这意味着我不能只做分钟,因为它会尝试在今天之前显示一个日期,并且max太远了。
下面的代码示例ALMOST工作。问题出在select语句中。我想在今天之后显示最短的日期,但是在日期应该是0和-1的情况下。可能还有另一种方法可以一起完成此操作,但这是唯一似乎允许其他信息(如站点,位置和注释)与其一起正确显示的配置。
SELECT A.`Last Name` AS [Last Name], Min(A.`Date In`) > Now() AS [Date In], Max(B.Site) AS Site, Max(B.Position), Max(B.Comments) AS Comments
FROM Deployments AS A
INNER JOIN Deployments AS B ON A.ID = B.ID
GROUP BY A.`FSR Name`
HAVING (((Max(A.`Actual TEP IN`))>Now()));
我按名称做了一个组,因为我只想看到每个人一次。如果我不通过连接将表添加到自身,它会给出自我引用错误。这是我第一次发布,所以我希望这是有道理的!所有帮助将不胜感激!
您使用的数据库是?您正在将SQL Server/Sybase约定与MySQL约定混合使用。另外,你为什么要做自我加入。这个不成立。 –
对不起,我正在使用MS Access – user3779582