>>>The solution was as following:
>>>
>>>
>>>if reccount("MyCursor1") > reccount("MyCursor2")
>>> select MyCursor1.* from MyCursor1 LEFT JOIN MyCursor2 on MyCursor1.ID = MyCursor2.ID INTO MyCursor3
>>>else
>>> select MyCursor2.* from MyCursor2 LEFT JOIN MyCursor1 on MyCursor1.ID = MyCursor2.ID INTO MyCursor3
>>>endif
>>>
>>
>>You realize that with this solution you don't really combine records, you end up with the cursor having most records.
>>
>>Unless, of course, ID field is not unique in these cursors.
>
>The ID is unique. And you are right. There is a flaw in my flaw in my approach. I wonder if use FULL JOIN if it works then.
You can use FULL OUTER JOIN with NVL(FirstCursor.Field, SecondCursor.Field) as Field approach. Or use the solution with UNION ALL and LEFT JOIN with where IS NULL.
I'm not sure which would perform better.
If it's not broken, fix it until it is.
My Blog