Внутреннее соединение трех таблиц в MySQL - PullRequest
2 голосов
/ 15 февраля 2012

У меня есть 3 таблицы с именем

  • Компания
  • Контакты
  • Кампании

Контакты имеет внешний ключ компании. Компания имеет внешний ключ кампании. Все они имеют столбец «имя». Мне нужна таблица соединений, в которой будет указано контактное имя, название компании и название кампании.

contact
id   name company_id
companies
id   name campaign_id
campaigns
id   name company_id

Ответы [ 2 ]

7 голосов
/ 15 февраля 2012
select con.name as contact_name , com.name as company_name,campa.name as campaign_name
from contact con inner join company com
on con.companyid = com.companyid
inner join campaign campa
on com.campaignid = campa.campaignid

при условии, что столбцы идентификаторов соответствующих таблиц

2 голосов
/ 15 февраля 2012
SELECT contacts.name,companies.name,campaigns.name 
FROM contacts 
INNER JOIN 
(companies INNER JOIN campaigns 
ON campaigns.campaignid=companies.campaignid) 
ON contacts.companyid=companies.companyid
AND //add any additional filters HERE

надеюсь, что это было полезно

...