2013-05-26 28 views
0

我有這個數據庫架構如圖所示,我需要以某種方式加入tblDdiNumberstblTransactions只顯示從tblTransactions最新記錄和沒有重複的ddi_numbers。訪問加入桌面上的最新記錄

基本上我想要做的是顯示分配和未分配的ddi_numbers基於交易表中的信息。

因此,如果ddi_number X在事務表中有條目,我可以確定它已被使用並且不再有空。

或者你認爲在tblDdiNumber表中保存我想要的信息的外鍵可能更好嗎?

enter image description here

+0

這是我目前所面對的 SELECT tblTransactions.ddi_id,最後(tblTransactions.trans_dt)AS MaxOftrans_dt,tblDdiNumbers.ddi_number,tblTransactions.main_customer_id FROM tblDdiNumbers INNER JOIN tblTransactions ON tblDdiNumbers.ddi_id = tblTransactions.ddi_id GROUP BY tblTransactions.ddi_id,tblDdiNumbers.ddi_number,tblTransactions.main_customer_id 但它返回多行對於每個ddi_id –

回答

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 
+0

那不是工作,我猜測最簡單的事情就是改變表格模式,謝謝你的嘗試 –