Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Always trips me up!
Message
De
14/06/2007 14:28:55
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:
01233200
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.

I will be using a datetime for the changedate so it shouldn't matter, but I concede the point.

Thanks!
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform