Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Always trips me up!
Message
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:
01233176
Vues:
14
>Hmmmm,
>Did you tried it?
>
>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)
>
>
>I prefer:
>
>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.

UPDATE. Ouch, too bad. I forgot I have VFP8 only :(
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