oracle中 这样的语句该怎么写.!!!!

由于刚学sql没多久,sql不是很懂,就来请教各位大神了
例如我有两个表
表1 表2
id name age id pid height weight
1 张三 6 1 9 180 150
2 李四 7 2 3 170 130
3 张三 9 3 5 150 100

我想得到的是在表一中如果name重复 那就取age最大的那个. 之后表2的pid关联表1的id.

例如最后我想获取到的是
id name age height weight
3 张三 9 170 130

 select name,age,height,weight from 表1 left join 表2 on 表1.id=表2.pid and exists(select 1 from (select name,max(age) age from 表1 group by name) a where a.name=表1.name and a.age = 表1.age)

记表一为A,表二为B,select B.id,name,max(age) as 年龄,height, weight
from A A1,A A2,B
on A1.id=A2.id and A1.id=B.id
group by name
having A1.age>A2.age
做一个自链接,不知道能不能帮到你