2017-03-24 93 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 
相关问题