把使用别名变为两个表a,b,不知道你说的最近两个日期是指数据库ID相邻的两个日期,还是离当前日期最近,我理解为ID相邻最近,日期相差我用 datediff函数,取了一下绝对值,查询结果如我截图,不知道你需要得到的是哪一个姓名,是前一条记录姓名还是后一条记录的姓名,我理解为后一条姓名。
查询语句是
SELECT a.id, a.姓名, a.日期,b.日期
FROM info a ,info b
where a.id=b.id+1 and Abs(DateDiff('d',a.日期,b.日期))>90
如果要得到前一条记录的语句如下,把加号改为减号
SELECT a.id, a.姓名, a.日期,b.日期
FROM info a ,info b
where a.id=b.id-1 and Abs(DateDiff('d',a.日期,b.日期))>90
不知道帮到你没有。也许其他朋友也可以参考。另外也许有更好的办法
注:我是ACCESS里测试的。
追问很感谢 但可能你理解有点偏差 我发了个具体的表 要不你再看看吧
追答你的提问任然不清楚。是不是同一个名字最近的两个记录的日期与当前日期相差均大于90天的。而不是最近的两个记录的日期之间的相差大于90天是吗?
如果是我说的这种也有可能查出来不只一个名字是吧?
只有一个表呀
追答对啊,难道同一个表就不能这样吗
追问同一个表怎么会有table a和 table b呢?