>I ran the two first selects and I see the problem.
>
>In the StatusHistory table we should have a PK, say, StatusID.
>
>The code should be
>
>SELECT Mb.*, Sh.* ;
> FROM Members mb ;
> INNER JOIN StatusHistory sh ON Mb.MemberId = sh.MemberId ;
> WHERE sh.StatusId IN ;
> (SELECT CTOBIN(RIGHT(MAX(DTOS(ChangeDate)+BINTOC(StatusId )),4)) ;
> FROM StatusHistory GROUP BY MemberId )
>
>That's what happens when you write code based on a sample :)
>
>You're a cheater by not creating PK in StatusHistory :)
OK, one second. Is there anything better about this approach than Sergey's?