Mysql Помогите написать запрос по трем таблицам

grischuk2703

Новичок
Добрый день! помогите разобраться. суть проблемы: Есть три таблицы - таблица с компаниями, их товарами и отделениями. Нужно написать запрос для поиска компании или ее отделения по названию и другим параметрам. Вот что я делаю:
SELECT *
FROM company LEFT JOIN departament ON company.login_uid=departament.uidd LEFT JOIN service_product ON company.login_uid=service_product.uid
WHERE
LOWER(company.last_name) REGEXP '($term)'
OR LOWER(service_product.name) REGEXP '($term)'
OR LOWER(departaments.named) REGEXP '($term)' ...
Но проблема в том, что если оно находит в таблице например 1 отделение определенной компании, то результирующих масивов стает сколько же сколько у этой кампании товаров...

Тоесть вот этот JOIN service_product ON company.login_uid=service_product.uid работает не верно, если без него, то все хорошо. Как мне правильно добавить поиск по названию товара?
 

riff

Новичок
Искать по таблицам отдельно, сохраняя промежуточные результаты во временной таблице:
SQL: CREATE TEMPORARY TABLE tmp... + поля + индексы

Код:
INSERT INTO tmp (company_id)
SELECT id FROM companys
WHERE ...

INSERT INTO tmp (company_id)
SELECT companys.id FROM products
INNER JOIN companys ON ...
WHERE ...
 
Сверху