select sites.permid as permid, sites.site_name, sites.startdate, sites.enddate, ; pei.*, GetERInitials(sites.er) as ER, ; h.surveys_distributed ; from newbluebook!sites ; left outer join new_pe_pei_database!PEI ; on sites.permid=pei.permid ; left outer join newsurveys!history h; on sites.permid=h.permid ; where ! isblank(startdate) and isblank(enddate) and ; pei._year = lnYear and ; h._year = lnYear-1 ; order by sites.er, site_name ; into cursor crsReportmisses records where there is no matching history record. I thought the outer join would include ALL of the qualified sites records but this is apparently not the case. What do I have wrong?