Имеется 3 таблицы в БД.
Companies - содержит информацию о существующих компаниях.
Accounts - содержит информацию аккаунтов.
Employees - связывает таблицы Companies и Accounts говоря, что определенный работник работает на определенную компанию.
В сессии у меня хранится объект Employee, который содержит поля employee_id, id компании и id аккаунта текущего юзера.
Далее, хочу создать хранимую процедуру, принимающую в себя employee_id, которая из таблицы Employees найдет связку company_id; account_id и выведет все столбцы из таблиц Companies и Accounts для данного пользователя.
Как извлечь с помощью JOIN (INNER JOIN) информацию про юзера и его компанию?
Вот что пришло в голову:
SELECT company_name, account_first_name, account_last_name, account_login
FROM accounts
INNER JOIN companies ON company_id = 21 AND account_id = 28;
...
Результат тот, но как это объединить два запроса ниже в один:
SELECT account_id, company_id
FROM employees
WHERE employee_id = 3;
// результат company_id = 21, account_id = 28
SELECT company_name, account_first_name, account_last_name, account_login
FROM accounts
INNER JOIN companies ON company_id = 21 AND account_id = 28;
Как составить запрос с JOIN, когда есть 2 адишника из таблицы employee, на получение всех полей компании и соответствующего аккаунта?