فکر میکنم این کد کمکتون کنه
createtable person(id int,[name] nvarchar(50),family nvarchar (50))
createtable Bime(num int,StartDate datetime,EndDate datetime,fish int,id_p int);
go
insertinto person(id,name,family)values(1,'ahmad','eagle');
insertinto person(id,name,family)values(2,'ahmad1','eagle1');
insertinto person(id,name,family)values(3,'ahmad2','eagle2');
insertinto person(id,name,family)values(4,'ahmad3','eagle3');
insertinto person(id,name,family)values(5,'ahmad4','eagle4');
insertinto bime values(1,getdate(),GETDATE(),1200,1)
insertinto bime values(2,dateadd(month,-2,getdate()),GETDATE(),1201,1)
insertinto bime values(3,dateadd(month,-3,getdate()),GETDATE(),1202,2)
insertinto bime values(4,dateadd(month,-7,getdate()),dateadd(month,2,getdate()),1203,3)
select*from person leftouterjoin bime on person.id=bime.id_p
where num in(select num from(selectmax(num) num,id_p from bime
groupby id_p) temp)