Внутреннее объединение трех таблиц в 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
надеюсь, это было полезно