Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Always trips me up!
Message
 
 
To
14/06/2007 14:00:14
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01233129
Message ID:
01233176
Views:
15
>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
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform