尝试:
select distinct person_info.person_name
t2.value,
t3.value,
t4.value,
t5.value
from person_info
left join (select t.*, row_number() over (partition by person_name order by timestamp_column desc) rowno from table2 t) t2
on t2.person_name=person_info.person_name and t2.rowno=1
left join (select t.*, row_number() over (partition by person_name order by timestamp_column desc) rowno from table3 t) t3
on t3.person_name=person_info.person_name and t3.rowno=1
left join (select t.*, row_number() over (partition by person_name order by timestamp_column desc) rowno from table4 t) t4
on t4.person_name=person_info.person_name and t4.rowno=1
left join (select t.*, row_number() over (partition by person_name order by timestamp_column desc) rowno from table5 t) t5
on t5.person_name=person_info.person_name and t5.rowno=1;