Для того что бы разграничить данные, в SaaS проекте, у каждой таблицы есть поле company_id. База данных используется MySQL. При запросах к одной таблице проблем явно не возникает, но при запросах к нескольким таблицам приходится повторять фильтр значения company_id для каждой таблицы.
Как привильно сделать запрос с множеством JOIN?
Пример SQL который хотелось бы оптимизировать:
SELECT * FROM table0
LEFT JOIN table1 ON table0.val1 = table1.val1
LEFT JOIN table2 ON table0.val2 = table2.vav2
LEFT JOIN table3 ON table0.val3 = table3.val3
LEFT JOIN table4 ON table0.val4 = table4.val4
WHERE
table0.company_id = $company_id AND
table1.company_id = $company_id AND
table2.company_id = $company_id AND
table3.company_id = $company_id AND
table4.company_id = $company_id
Не уверен в правильности, подобного подхода, надеюсь есть более правильное решение, которое хотелось бы узнать.