我对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中实现
答案 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);