0
我对Access非常陌生,所以我确信这很简单。我不确定我是否拥有最好的科目。无法从分组记录中获取最新记录
我有一个Owner
和Names
表包含这样的数据:
Owner Names
TMKFK NID ... NIDFK Last ModDate
7721011 45 45 Smith 1/18/15
7721011 137 137 Jones 2/1/15
7721012 45 45 Smith 1/18/15
我想查询他们,让我得到了TMKFK
在Name
表中的最新时间戳记录。这用于从表单中查找。所以,如果我查找Smi*
我希望得到7721012
。
经过一堆环顾这个网站和其他地方,看着partition over
我总结答案必须使用子查询,但我不能弄清楚要放哪里。这是我卡住了:
SELECT Owner.TMKFK
FROM Owner INNER JOIN Names ON Owner.NID = Names.NIDFK
GROUP BY Owner.TMKFK, [Owner Name].Last, [Owner Name].M
WHERE (Owner.TMKFK=7721011 Or Owner.TMKFK=7721012)
AND Names.Last Like "Smith"
AND Names.ModDate=(SELECT Max(Names.ModDate) FROM Names);
失败的原因是子查询返回从整个表中的最大日期,而不仅仅是两个记录具有相同TMKFK
。 A HAVING
条款似乎没有什么区别。重新排序组中的字段没有什么区别。