Как сравненить таблицы по одинаковым полям?
Кто ж такую гадость то спроектировал.
Для начала перейти на нормальное хранение данных: таблицы вида (id_salon, id_model)
Дальше - можно в лоб через join и having count(...)>2
Решение такое:select * from salon sl, admin ad
where (if(sl.model1 in (ad.model1, ad.model2, ad.model3, ad.model4, ad.model5), 1, 0) +
            if(sl.model2 in (ad.model1, ad.model2, ad.model3, ad.model4, ad.model5), 1, 0) +
            ...
            if(sl.model5 in (ad.model1, ad.model2, ad.model3, ad.model4, ad.model5), 1, 0)) >= 3