Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Can this be done with SQL statement
Message
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00728373
Message ID:
00728474
Views:
14
Sergey,
Thanks again for your help and this suggestion works fine.

Regards,

Gerard


>You can do this in one of the two ways
* #1 - Two selects
>SELECT Flda, MAX(Fldb) AS MaxFldb ;
>  FROM TableX GROUP BY Flda ;
>  INTO CURSOR crsMaxB
>SELECT *;
>  FROM TableX  ;
>  WHERE Flda + Fldb IN (SELECT Flda + MaxFldb FROM crsMaxB) ;
>  INTO CURSOR crsResult
>* #2 - Correlated query
>SELECT *;
>  FROM TableX tx1 ;
>  WHERE Fldb IN (SELECT MAX(Fldb) FROM TableX tx2 ;
>  				WHERE tx2.Flda = tx1.Flda ) ;
>  INTO CURSOR crsResult
>
>>Plamen,
>>On further investigation, it is not doing exactly as I want, if I do a select *. I want the Highest Flda RECORD returned
>>
>>Flda Fldb Fldc Fldd Flde etc
>>A 100
>>A 300
>>A 150
>>B 500
>>B 800
>>B 600
>>
>>If I Select SELECT *, MAX(Fldb) AS C FROM TempFile GROUP BY C, it returns
>>
>>Flda Fldb C
>>A 150 300 Record no. 3 from File above
>>B 600 800 Record no. 6 from File above
>>
>>What I want returned is:
>>A 300 Record no. 2 above
>>B 800 Record no. 5 above
>>
>>The file above is just a sample for illustration purposes. I am reaaly in terested in the other fields that are in the file, and I need the record whch has the highest FldB value returned , for any of the records grouped by Flda.
>>
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform