Ms access Access联接表最新记录

Ms access Access联接表最新记录,ms-access,vba,ms-access-2007,Ms Access,Vba,Ms Access 2007,我的数据库架构如所附图片所示,我需要以某种方式将tblDdiNumbers与tblTransactions连接起来,只显示tblTransactions中的最新记录,并且没有重复的ddi\U编号 基本上,我要做的是根据事务表中的信息显示已分配和未分配的ddi_编号 因此,如果ddi_编号X在事务表中有一个条目,我可以确定它已被使用,不再可用 或者您认为在tblDdiNumber表中保存我想要的信息的外键可能更好吗 您要查找的“最新行”可能由此查询提供。(在不知道关键点的情况下,我不会打赌。请编辑

我的数据库架构如所附图片所示,我需要以某种方式将
tblDdiNumbers
tblTransactions
连接起来,只显示
tblTransactions
中的最新记录,并且没有重复的ddi\U编号

基本上,我要做的是根据事务表中的信息显示已分配和未分配的ddi_编号

因此,如果ddi_编号X在事务表中有一个条目,我可以确定它已被使用,不再可用

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

您要查找的“最新行”可能由此查询提供。(在不知道关键点的情况下,我不会打赌。请编辑您的问题以包含关键点。)

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

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

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

这就是我目前所拥有的选择tblTransactions.ddi_id,Last(tblTransactions.trans_dt)作为MaxOftrans_dt,tblDdiNumbers.ddi_number,tblTransactions.main_customer_id FROM tblDdiNumbers internal JOIN tblTransactions ON tblDdiNumbers.ddi_id=tblTransactions.ddi_id按tblTransactions.ddi_id分组,tblDdiNumbers.ddi_id,tblDdiNumbers.ddi_number,tblTransactions.main_customer_id但它会为每个不工作的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