我有这个数据库模式,如附图所示,我需要以某种方式加入tblDdiNumbers
,tblTransactions
只显示最新的记录tblTransactions
,没有重复的 ddi_numbers。
基本上我要做的是根据事务表中的信息显示已分配和未分配的 ddi_numbers。
因此,如果 ddi_number X 在事务表中有一个条目,我可以确定它已被使用并且不再空闲。
还是您认为最好将我想要的信息的外键保存在tblDdiNumber
表中?
我有这个数据库模式,如附图所示,我需要以某种方式加入tblDdiNumbers
,tblTransactions
只显示最新的记录tblTransactions
,没有重复的 ddi_numbers。
基本上我要做的是根据事务表中的信息显示已分配和未分配的 ddi_numbers。
因此,如果 ddi_number X 在事务表中有一个条目,我可以确定它已被使用并且不再空闲。
还是您认为最好将我想要的信息的外键保存在tblDdiNumber
表中?
此查询可能会给出您要查找的“最新行” 。(在不知道钥匙的情况下,我不会打赌。编辑您的问题以包括钥匙。)
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