select nvl(Companies.cKey,Division.cKey) as cKey, ; nvl(CompanyNam,padr('Orphan Divisions',30)) as CompanyNam, ; nvl(Div_Name,space(50)) as Div_Name from Companies ; full Join Division on Companies.cKey=Division.cKey into cursor curTemp1 select cKey, CompanyNam, min(Div_Name) as Div_Name from curTemp1 ; group by 1 into cursor curTemp2 select * from curTemp2 ; union all ; select cKey, space(30) as CompanyNam, Div_Name from curTemp1; where curTemp1.CompanyNam+curTemp1.Div_Name ; not in (select curTemp2.CompanyNam+curTemp2.Div_Name as keyfield from curTemp2) ; order by 1 ; into cursor curFinal