在oracle查询中,分别有表a和表b,a和b的关系是一对多,b的ForeignKey是a的id字段,
现在我想让表a左连接表b,但是只查询出b中最新的那条记录,应该怎样实现?下面是我写的连接查询的sql
SELECT * FROM table_A a, table_B b WHERE a.id=b.id(+) ORDER BY b.date desc
假设有下面的表
table_A
id
------------
001
002
003
table_B
id date
------------
001 2008-01-01
001 2010-01-01
002 2009-05-05想得到这样的查询结果result
id date
------------
001 2010-01-01
002 2009-05-05
003
谢谢关注!
现在我想让表a左连接表b,但是只查询出b中最新的那条记录,应该怎样实现?下面是我写的连接查询的sql
SELECT * FROM table_A a, table_B b WHERE a.id=b.id(+) ORDER BY b.date desc
假设有下面的表
table_A
id
------------
001
002
003
table_B
id date
------------
001 2008-01-01
001 2010-01-01
002 2009-05-05想得到这样的查询结果result
id date
------------
001 2010-01-01
002 2009-05-05
003
谢谢关注!
ORDER BY b.date desc
ORDER BY date desc
SELECT a.id ,max(b.date) FROM table_A a left join table_B b
on a.id=b.id
group by a.id
我用了RANK()OVER