ldStartDate = {09/01/2002} ldEndDate = {09/30/2002} * Get max expr. date for all Id's after start date SELECT Id, MAX(expdate) AS MaxDate FROM rcbfile ; WHERE expdate >= ldStartDate ; INTO CURSOR crsMaxDate * Get all records with expdate in specified interval * that don't have records with later expdate SELECT * FROM rcbfile ; WHERE expdate BETWEEN ldStartDate AND ldEndDate ; AND Id + DTOS(expdate) IN ( SELECT Id + DTOS(MaxDate) FROM crsMaxDate ) * If Id is a number type field than AND STR(Id) + DTOS(expdate) IN ( SELECT STR(Id) + DTOS(MaxDate) FROM crsMaxDate )>Sergey, the following code hangs on my computer at around 50%. I also tried on my co-workers computer. Any suggestions? Also, will this code still return all the records which have expired in a month but if a record has 2 the one with the max(expdate)?