>CREATE CURSOR Members (MemberId int) >CREATE CURSOR StatusHistory (MemberId int, ChangeDate D) >FOR asd = 1 TO 20 > INSERT INTO Members VALUES (asd) > FOR lll = 1 TO 5 > INSERT INTO StatusHistory VALUES (asd, DATE()+lll) > NEXT >NEXT > >**** Yours >SELECT Mb.*, Sh.* ; > FROM Members mb ; > LEFT JOIN StatusHistory sh ON Mb.MemberId =sh.MemberId ; > WHERE Sh.MemberId IS NULL ; > OR sh.MemberId IN ; > (SELECT CTOBIN(RIGHT(MAX(DTOS(ChangeDate)+BINTOC(MemberId )),4)) ; > FROM StatusHistory GROUP BY MemberId ) > >*** Sergey's >SELECT * FROM Members mb > JOIN StatusHistory sh ON sh.MemberId = mb.MemberId > WHERE sh.ChangeDate = (SELECT MAX(ChangeDate) FROM StatusHistory WHERE MemberId = sh.MemberId) >>
>CREATE CURSOR Members (MemberId int) >CREATE CURSOR StatusHistory (MemberId int, ChangeDate D) >FOR asd = 1 TO 20 > INSERT INTO Members VALUES (asd) > FOR lll = 1 TO 5 > INSERT INTO StatusHistory VALUES (asd, DATE()+lll) > NEXT >NEXT > >SELECT * ; > FROM Members mb ; > INNER JOIN; > (SELECT ff.* FROM StatusHistory ff; > INNER JOIN (SELECT MemberId, MAX(ChangeDate) AS ChangeDate; > FROM StatusHistory ttt; > GROUP BY MemberId) ss; > ON ff.MemberId = ss.MemberId AND; > ff.ChangeDate = ss.ChangeDate) sh; > ON Mb.MemberId =sh.MemberId >No, didn't try, wrote it right from the top of my head, but going to try now, thanks a lot for the code.