日期:2014-05-17  浏览次数:20619 次

郁闷啊,查询结果集问题
现有2张表,
表1:
id name phone nickname
1 a 12 aa
2 b 13 bb
3 c 14 cc

表2:
id name ip time
1 a 1 1
1 a 2 2
1 a 3 3
2 b 4 4
2 b 5 5

现在要取出表1的所有字段和表2的ip,time两个字段合并,并且表1与表2根据name关联,取表2的数据时,要按照time取最大的那条
取出的数据如下:
id name phone nickname ip time
1 a 12 aa 3 3
2 b 13 bb 5 5
3 c 14 cc

------解决方案--------------------
select t1.id,t1.name,t1.phone,t1.nickname,max(ip)keep(dense_rank last order by time),max(time)
from 表1 t1,表2 t2
where t1.name=t2.name
group by t1.id,t1.name,t1.phone,t1.nickname