Полосатый жираф Алик
Искусственный Интеллект
(313002)
5 лет назад
Каждой таблице свой алиас - и для СУБД это уже РАЗНЫЕ таблицы. Во всяком случае, в Oracle именно так.
Роман ProtocolМыслитель (8562)
5 лет назад
Я как то пробовал, аналогичная ситуация была, выдавало "Одна и та же таблица не может быть добавлена в запрос несколько раз".
Вот так в одном запросе не даёт делать:
--Со стороны заказчика
INNER JOIN Users
...
--Со стороны клиента
INNER JOIN Users
Роман ProtocolМыслитель (8562)
5 лет назад
Спасибо! Работает.
SELECT *
FROM Records r
INNER JOIN Clientele c
ON r.Clientele_idClientele = c.idClientele
INNER JOIN Users uc
ON c.Users_idUsers = uc.idUsers
INNER JOIN Exe_service es
ON r.Exe_service_Executors_idExecutors = es.Executors_idExecutors
INNER JOIN Executors ex
ON es.Executors_idExecutors = ex.idExecutors
INNER JOIN Users ue
ON ex.Users_idUsers = ue.idUsers
Нужно вывести всю информацию по записям (Records) на приём клиентов к исполнителям. Но вопрос в том, как это правильно сделать, если имя, фамилия и прочие данные как для исполнителя, так и для клиента содержатся в одной и той же таблице? То есть SQL сервер не позволит одну и ту же таблицу дважды подсоединить через INNER JOIN. Здесь нужно кольцом соединить.
Как правильно соединить таблицы?
Зелёными стрелками на скрине показано как я хочу соединять таблицы. Не относящиеся к вопросу таблицы скрыты на скрине.
Спасибо за ответы!