Можно ли присоединить стол к себе - PullRequest
0 голосов
/ 20 марта 2020

У меня есть запрос, который объединяет две таблицы вместе. В таблице OI есть идентификатор сотрудника, который я присоединяю к таблице HR, чтобы получить имя сотрудника:

inner join hr AS hr on o.syscreator = hr.res_id

Также в таблице HR находится менеджер сотрудников, но значением является только идентификатор сотрудника из управляющий делами. Поэтому, чтобы получить полное имя менеджера, нужно ли мне использовать самостоятельное соединение? Я мог только найти примеры самостоятельного соединения с использованием таблицы FROM, в данном случае это таблица соединения.

select o.ordernr,
       o.refer,
       o.orddat,
       o.afldat,
       o.magcode,
       o.user_id,
       o.status, 
       o.represent_id,
       o.crdnr,
       o.ord_debtor_name,
       o.ord_AddressLine1,
       ord_PostCode,
       ord_City,
       ord_StateCode,
       o.ord_landcode,
       o.ord_Phone,
       o.ord_contactperson, 
       o.ord_contactemail,
       o.syscreated,
       h.fullname AS RepName,
       h.repto_id AS ManagerID
from order o
inner join humres AS hr on o.syscreator = hr.res_id

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 20 марта 2020

Вы можете принести одну и ту же таблицу дважды - вам просто нужно использовать другой псевдоним.

Я думаю, что вы хотите:

select 
    o.ordernr, 
    ..., 
    h.fullname AS RepName, 
    h.repto_id AS ManagerID,
    hr_mgr.fullname as MgrName
from order o 
inner join humres AS hr on o.syscreator = hr.res_id
inner join humres AS hr_mgr on hr_mgr.res_id = hr.repto_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...