Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Always trips me up!
Message
 
 
À
14/06/2007 16:45:10
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:
01233314
Vues:
19
>>>>>>Just compare the speed. I am very curious which way is better. Never had enough records to make a proper tests.
>>>>>
>>>>>Just FYI
>>>>>
>>>>>Using live data (local hard drive - not on the server), running both queries 1,000 times resulted in 57.307 seconds for yours and 74.672 for Sergey's.
>>>>
>>>>Mike, what about my as well?
>>>>
>>>>How many tests did you run?
>>>
>>>Which was your query? This one seems like it won't work because sh.statusID cannot match CTOBIN(RIGHT(MAX(DTOS(ChangeDate)+BINTOC(StatusId )),4)?
>>>
>>>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 )
>>
>>Yes, this one. Try it. I'm working on something, read the tek-tips thread for an explanation why it works.
>
>statusid is a guid. CTOBIN(RIGHT(MAX(DTOS(ChangeDate)+BINTOC(StatusId )),4)) cannot match.
>
>Here's the query with my field names.
>
>SELECT Mb.*, Sh.* ;
> FROM Members mb ;
> INNER JOIN StatusHistory sh ON Mb.uId = sh.uId ;
> WHERE sh.sth_pk IN ;
> (SELECT CTOBIN(RIGHT(MAX(DTOS(effDate)+BINTOC(sth_pk)),4)) ;
> FROM StatusHistory GROUP BY uId ) ;
> into cursor testing
>
>I get the error function argument value type or count is invalid.

With GUID you need to modify this method a bit. How many chars is your GUID? Remove CTOBIN/BINTOC then and use simple
RIGHT(MAX(DTOS(effDate) + sth_pk),16)
if your GUID 16 chars.
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