2017-03-24 118 views
0

我有3個表格,下面的結構。
公司 - 表1根據第3映射表從2個表中選擇記錄

Id 
Name 
Phone 

聯繫 - 表2

Id 
FirstName 
LastName 
CellPhone 
Phone 
Phone2 
Email1 

Company_Contact - 表3

CompanyId 
ContactId 

一個公司可以有多個聯繫人。現在,我要選擇 Contact.FirstName,Contact.LastName,Company.Name,Contact.CellPhone,Contact.Phone,Contact.Phone2,Company.Phone,Contact.Email1所有公司

+1

只是一個小尖的邏輯:如果一個觸點不能是多個公司的一部分,你應該存儲CompanyID的聯繫表,而不是使用交集表(您的案例中的Company_Contact)。這樣你的聯繫人就直接與他們的公司聯繫在一起。 –

+0

一個聯繫人可以與多家公司聯繫 –

回答

1

首先u需要知道ü要選擇字段,並涉及他們

SELECT Contact.FirstName, Contact.LastName, Company.Name, Contact.CellPhone, 
Contact.Phone, Contact.Phone2, Company.Phone, Contact.Email1 
FROM contact, company, company_contact 
WHERE company.id = Company_Contact.companyId and contact.id = company_contact.contactId 

我認爲這是ü想什麼 也許有錯誤,但是這是問題

+0

感謝我正在尋找的東西;) –

0

喜歡的東西

SELECT Contact.FirstName, Contact.LastName, Company.Name, Contact.CellPhone, Contact.Phone, Contact.Phone2, Company.Phone, Contact.Email1 
FROM Company, Contact, Company_Contact 
WHERE Company_Contact.CompanyId = Company.Id AND Company_Contact.ContactId = Contact.Id 
1

你需要簡單的加入

select Contact.FirstName, Contact.LastName, Company.Name, Contact.CellPhone, Contact.Phone, Contact.Phone2, Company.Phone, Contact.Email1 
from Company 
inner join Company_Contact on Company.id = Company_Contact.CompanyId 
inner join Contact on Contact.id = Company_Contact.ContactId 
相關問題