选择最早的日期记录

时间:2017-09-14 14:46:45

标签: oracle

我对Oracle SQl有疑问,我必须根据日期范围选择最早的记录。我有表A

NAME.A  SHOPNO  YEAR.A shop key 
XX         123  2013     1
YY         345  2013     2

我的表b有两列。

SHOPNO     NUMBER.B NAME.B  INSERT_DATE.B
  1         987     ZZ      7/13/2013
  2         456     ZZ      12/1/2013

我的结果输出应为

NAME.A  SHOPNO  YEAR.A  NUMBER.B    NAME.B
XX         123    2013       987        ZZ

请告诉我如何在oracle sql中实现

1 个答案:

答案 0 :(得分:0)

使用rank()查看this answer from a duplicate question以获得更有效的解决方案。但这是做你想做的事的基本/简单方法。

select a.name, a.shopno, a.year, b.number, b.name
from a
join b on a.shopno = b.shopno
  and b.insert_date = (select min(insert_date) from b b2 
                       where b2.shopno = b.shopno);