SELECT field1, field2, MAX(field3) AS max3 ; > FROM curFirst ; > group by Field1, Field2 ; > INTO CURSOR crsTemp > >SELECT * ; > FROM curFirst ; > WHERE STR(Field1) + STR(Field2) + STR(Field3) ; > IN ( SELECT STR(Field1) + STR(Field2) + STR(max3) > FROM crsTemp ); > INTO CURSOR crsResultWhich is what I did, in a slightly different manner on the second one, using a join. I thought there was a way to do it in a single select - and it almost worked, except it retrieved partial set of records only.