Inner join between three tables in mysql
20,894
Solution 1
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
assuming id columns of respected tables
Solution 2
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
hope this was helpful
Author by
yatish mehta
Updated on January 19, 2020Comments
-
yatish mehta over 4 years
I have 3 tables called
- Companies
- Contacts
- Campaigns
Contacts has foreign key of companies. Companies has foreign key of campaigns. All of them have a column 'name'. I need a join table which will have contact name company name and campaign name.
contact id name company_id companies id name campaign_id campaigns id name company_id