如何从自联接表中获取max stop_date

时间:2016-07-25 08:01:00

标签: mysql sql-server join max

在连接存储过程中的表时,Max函数需要很长时间。

请建议其他有效的方法。

查询

Select a.*,b.* from acct a join acct b
On a.acctno=b.acctno
Join finance c
On a.acctno=c.acctno
Where a.insertdate between start_date and end_date
And b.stop_date=(select max(stop_date) from acct where acctno=b.acctno and addr_code=b.addr_code and unique_id<>a.unique_id and stop_date<=end_date)

1 个答案:

答案 0 :(得分:0)

使用此功能,希望它会有所帮助。

Select a.*,b.* from acct a,acct b,finance c
where a.acctno=b.acctno
and a.acctno=c.acctno
and a.insertdate 
between a.start_date and a.end_date
And b.stop_date=(select max(stop_date) from acct a,acct b 
where a.acctno=b.acctno 
and a.addr_code=b.addr_code 
and a.unique_id<>b.unique_id 
and a.stop_date<=a.end_date)