0

我有这个数据库模式,如附图所示,我需要以某种方式加入tblDdiNumberstblTransactions只显示最新的记录tblTransactions,没有重复的 ddi_numbers。

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

因此,如果 ddi_number X 在事务表中有一个条目,我可以确定它已被使用并且不再空闲。

还是您认为最好将我想要的信息的外键保存在tblDdiNumber表中?

在此处输入图像描述

4

1 回答 1

1

此查询可能会给出您要查找的“最新行” 。(在不知道钥匙的情况下,我不会打赌。编辑您的问题以包括钥匙。)

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
于 2013-05-26T10:48:38.527 回答