我有兩個表,Person和Address,如下所示:
人

地址

使用這些表,我想創建一個視圖,Person表中的每個人都有一行,但只需要選擇最近的地址(即最大 address_id),如下所示(例如,Jane 的地址應設定為 ' 20 Main St' 在視圖中):

使用下面的腳本,表似乎按預期加入,但我在地址欄位中看不到任何值。我嘗試了同一個腳本的幾種不同變體,但此時我幾乎在轉動我的輪子。
任何提示將不勝感激!
SELECT
p.person_id AS id,
p.first_name AS first_name,
p.last_name AS last_name,
a.address AS address
FROM Person p
LEFT JOIN Address a ON
a.address_id = (
SELECT MAX(address_id)
FROM Address
WHERE p.person_id = a.person_id
)
uj5u.com熱心網友回復:
我已經測驗了這個查詢,它滿足您的需要。
select p.id, p.name, a.address
from person p
left join address a
on p.id = a.person_id
and a.id = (select max(id) from address where person_id = p.id)
;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/324275.html
