Внутреннее объединение трех таблиц в MySQL

У меня есть 3 таблицы под названием

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

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

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

2 ответа

Решение
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

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

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

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

Другие вопросы по тегам