Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Always trips me up!
Message
 
 
À
14/06/2007 14:22:02
Mike Yearwood
Toronto, Ontario, Canada
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Database:
Visual FoxPro
Divers
Thread ID:
01233129
Message ID:
01233197
Vues:
19
>>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?

There is a difference in these two approaches if you have several same days. In my case it still returns just one record, in Sergey's it would return all of them.

It depends on what do you want to achieve, do you want just one Max record doesn't matter which or multiple.
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform