Select t1 Set Textmerge To Memvar m.lcJoin Noshow Set Textmerge On For ix =1 To Fcount() \\<<IIF(m.ix=1,'',' AND ')>> t1.<<FIELD(m.ix)>> == t2.<<FIELD(m.ix)>> Endfor Set Textmerge To Set Textmerge Off lcw1 = Textmerge("WHERE ISNULL(t2.<<FIELD(1)>>)") lcw2 = Textmerge("WHERE ISNULL(t1.<<FIELD(1)>>)") Select t1.* ; FROM t1 Left Join t2 On ; &lcJoin ; &lcW1 ; UNION ; Select t2.* ; FROM t1 Right Join t2 On ; &lcJoin ; &lcW2 ; INTO Cursor crsDiff browseCetin