Consider you manage multiple banks in a central database.
Banks: BankID, ...
Customers: CustomerID, ...
A person might be a customer of more than one bank and a bank has multiple customers. This constitute a many-to-many relationship and you create an intermediate 'link' table:
BankCustomer: BankID,CustomerID
With your phones this would be true if a phone number might be shared by multiple contacts (yes, why not all or some members of a family might be customers of some shop and you own a chain of shops). I suggest simply to hold:
PhoneContact: PhoneID,ContactID
If it's a strict one-to-many match then you don't need the intermediate table (PhoneContact).
Cetin
>>However I suggest you to rethink about this design. Instead of holding multiple link
>>info in a single table having them in separate files is better IMHO (and if it's not
>>for supporting many-to-many completely remove links for these 2 tables).
>
>Not sure I understand. Could you elaborate a bit more?
>
>
>
>
>
>
>
>>>I have a Contacts table. I also have a Phones table. They are related
>>>through a Links table. I would like to pull the client record, and have
>>>all the phone numbers on the client record.
>>>
>>>Anyone?
>>>
>>>
>>>The relationships:
>>>
>>>Contacts
>>> |
>>> -< Links
>>> |
>>> -< Phones
>>>
>>>
>>>
>>>The structures:
>>>
>>>Contacts
>>>RecordId FName LName
>>>-----------------------------------------------------
>>>00000001 Joe Smith
>>>
>>>Links
>>>RecordId ParentId DataId Key
>>>-----------------------------------------------------
>>>AAAAAAAA 00000001 ZZZZZZZZ "phone"
>>>AAAAAAAA 00000001 QQQQQQQQ "phone"
>>>AAAAAAAA 00000001 FFFFFFFF "phone"
>>>
>>>
>>>Phones
>>>RecordId Caption Phone Last
>>>-----------------------------------------------------
>>>ZZZZZZZZ Home 8005551212 .T.
>>>QQQQQQQQ Business 8001212555 .T.
>>>FFFFFFFF Cell 8885544877 .T.
>>>
>>
>>
>>select Contacts.*, Phones.Caption, Phones.Phone ;
>> from Contacts ;
>> left join links on Contacts.RecordId = Links.ParentID ;
>> and Links.Key == 'phone' ;
>> left join Phones on Links.DataID = Phones.RecordID
>>
>>However I suggest you to rethink about this design. Instead of holding multiple link info in a single table having them in separate files is better IMHO (and if it's not for supporting many-to-many completely remove links for these 2 tables).
>>Cetin