2015-07-03 70 views
0

我有兩個表,我想根據某個最大日期得到一個值。 下面是表的結構:根據最大日期獲取一些值(兩個表之間的查詢)

項目(項目Id,名稱)

的ItemData(ItemDataId,ItemFK,發票,EntryDate) - ItemFK是項目Id的項目表的外鍵

我所知道的只是該項目的名稱。我想根據EntryDate(和名稱)獲取最新的發票。 我首先需要根據名稱獲取itemid,然後根據itemid而不是最後一個獲得發票(所以使用max(enteydate)。 如何使用innerjoin(或其他一些連接sql查詢) ?

回答

1

你加入一個派生表,這是一個別名的子查詢。

select yourfields 
from someTable join otherTablesMaybe on something 
join (
select id, max(datefield) maxDate 
from someTable 
where whatever 
group by id) derivedTable on someTable.id = derivedTable.id 
and someTable.datefield = maxDate 
where whatever 

兩個where whatevers應該是相同的。

+0

會嘗試明天,謝謝你。被關編碼差不多一年,並忘記了一些東西:) –

相關問題