主从表关系的两张表,怎么才能主表一条数据对应从表时间上的最新数据
主表:
主键 时间 内容
1 2014 acb
2 2013 cba
从表
主键 外键 时间 内容
1 1 2014 cga
2 1 2013 gcg
3 2 2014 gdad
4 2 2013 dagag
最终结果:
1 2014 acb 2014 cga
2 2013 cba 2014 gdad
------解决方案--------------------
select xxxx
from 主 a,从 b
where a.主=b.外 and b.时间 in(select max(b.时间) from 主 a,从 b where a.主=b.外 group by b.时间)
------解决方案--------------------
select a.主键, a.时间, a.内容, b.时间, b.内容
from 主表 a,
(select 外键,
max(时间) 时间,
max(内容) keep(dense_rank last order by 时间) 内容
from 从表
group by 外键) b
where a.主键 = b.外键