Допустим есть таблицы
1. главная, содержит информацию о компаниях
id | name | address
2. первая таблица нормализации, содержит бренды с которыми работает компания (одна фирма — много брендов)
brend_id | firm_id
3. вторая таблицы нормализации, содержит города в которых работает компания (одна фирма — много городов)
town_id | firm_id
Какой запрос может извлечь все компании по определённому бренду и определённому городу? Пока в голову пришла идея сделать третью таблицу нормализации
firm_id | brend_id | town_id
но смущает большой оверхед
select * from company left join brands on company.id=brands.firm_id left join towns on company.id=towns.firm_id
where brands.brend_id in (нужный бренд или несколько) and towns.town_id in (нужный город или несколько)
group by company.id