local i,k create table Companies (CompanyNam C(30), cKey N(7)) create table Division (Div_Name C(50), cKey N(7)) for i=1 to 20 CompanyNam="Company"+transform(i) cKey=i insert into Companies from memvar for k=1 to 5 Div_Name="Division"+transform(k) insert into Division from memvar next next cKey=21 Div_Name="Division Without Parent" insert into Division from memvar cKey=22 CompanyNam="Company without Div" insert into companies from memvar select min(Div_Name) as Div, cKey from Division group by 2 into cursor curTemp select iif(Div_Name=Div or isnull(Div_Name), nvl(CompanyNam,padr("Orphan Division",30)), space(30)) as CompanyNam, ; nvl(Div_Name,padr("Company without divisions",50)) ; from Division ; full join Companies on Division.Ckey=Companies.CKey ; left join curTemp on Division.cKey=curTemp.cKey and Division.Div_Name=curTemp.Div ; into cursor FinalResult