>>Given the following code sequence
>>
>>lnYear = 2005
>>lcRawData = fileloc + 'surveys\RawData' + transform(lnYear)
>>lcCompanyInfo = fileloc + 'surveys\companyinfo'
>>
>>select * ;
>> from (lcRawData) rd, ;
>> (lcCompanyInfo) ci ;
>> where rd.permid = ci.permid and ci.yearproduced = lnYear
>>
>>
>>The RawData table contains 98274 records. If the WHERE clause of the select creates an inner join (does it not?) how can the result set contain 98511 records?
>
>Yes, I understand it creates an inner join.
>
>An inner join can produce more records than exist in any of the individual tables, if there are duplicates in the key values.
>
>For example: TableA has 100 records with an empty key, whilst TableB has 200 records with an empty key (with "key" I mean the join field). As a result, VFP will do a Cartesian product between those records, and include 20000 records where you would expect no more than 100 or 200.
Found some duplicate records in companyinfo.
Thanks