[英]Get some value based on the max date (query between two tables)
我有兩個表,我想根據某個最大日期獲得一個值。 這是表的結構:
項目(ItemId,名稱)
ItemData(ItemDataId,ItemFK,發票,EntryDate) -ItemFK是Items表中ItemId的外鍵
我所知道的只是該項目的名稱。 我想獲得基於EntryDate(和名稱)的最新發票。 我首先需要根據名稱獲取itemid,然后根據itemid但僅獲取最后一個發票(因此使用max(enteydate)。如何使用innerjoin(或其他一些sql查詢)來做到這一點?
您聯接到派生表,該表是帶有別名的子查詢。
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
都應相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.