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:
00728412
Views:
14
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.
>
--sb--
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform