访问加入表最新记录

时间:2013-05-26 08:20:16

标签: ms-access-2007 access-vba

我有这个数据库架构,如附图所示,我需要以某种方式加入tblDdiNumbers tblTransactions只显示来自tblTransactions的最新记录,而不是重复的ddi_numbers。

基本上我要做的是根据事务表中的信息显示已分配和未分配的ddi_numbers。

所以如果ddi_number X在事务表中有一个条目,我可以确定它已被使用并且不再是免费的。

或者您认为在tblDdiNumber表中保留我想要的信息的外键可能更好吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

此查询将为您提供可能的“最新行”。 (不知道钥匙,我不会打赌。编辑你的问题以包括钥匙。)

select ddi_id, max(trans_date) latest_date
from tblTransactions
group by ddi_id

如果该查询返回多行,那么您的表结构可能不支持您尝试执行的操作。

无论如何,您可以像这样加入该查询

select t1.*, t3.ddi_number
from tblTransactions t1
inner join (select ddi_id, max(trans_date) latest_date
            from tblTransactions
            group by ddi_id) t2
        on t1. ddi_id = t2.ddi_id
       and t1. trans_date = t2.latest_date
inner join tblDdiNumbers t3
        on t3.ddi_id = t2.ddi_id