2 u012470804 u012470804 于 2016.05.11 14:32 提问

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

3个回答

danielinbiti
danielinbiti   Ds   Rxr 2016.05.11 15:11
已采纳
 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)
u012470804
u012470804 太谢谢了
一年多之前 回复
mutisme
mutisme   2016.05.11 14:47

记表一为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
做一个自链接,不知道能不能帮到你

CSDNXIAOD
CSDNXIAOD   2016.05.11 14:42

Linq to sql 实现 group by 统计多字段 返回多字段
SQL group by后获取其他字段(多种方法)
Sql Server 获取、增加、修改、删除 字段描述
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!