Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Another SQL Question
Message
From
12/07/2005 11:00:09
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01031642
Message ID:
01031682
Views:
13
>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
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform