SELECT Str(id) + MAX(TTOC(effective_date, 1)) AS id_maxdt; FROM address_tbl ; INTO CURSOR crsAddr SELECT Str(id) + MAX(TTOC(effective_date, 1)) AS id_maxdt ; FROM name_tbl ; INTO CURSOR crsName SELECT id.*, NVL(nm.lname, ' ') lname ; FROM id_table id ; LEFT JOIN name_tbl nm ON id.id = nm.id ; LEFT JOIN address_tbl ad ON id.id = ad.id ; WHERE (nm.effective_date IS NULL ; OR Str(nm.id) + TTOC(nm.effective_date, 1) IN ; (SELECT id_maxdt FROM crsName)) ; AND (ad.effective_date IS NULL ; OR Str(ad.id) + TTOC(ad.effective_date,1) IN ; (SELECT id_maxdt FROM crsAddr))>I tried your solution and got back an error "SQL expression is too complex." I even simplified the query down for testing purposes: