SQL-запрос для получения имени сотрудника и его менеджера из одной таблицы - PullRequest
0 голосов
/ 08 сентября 2018

Таблица сотрудников

Employee_id  Employee_name   Manager_id
-------------------------------------
Emp00001     Ram             Emp00005
Emp00002     Sharath         Emp00003
Emp00003     Nivas           Emp00005
Emp00004     Praveen         Emp00002
Emp00005     Maharaj         Emp00002

Выход

Employee Name    Manager Name
------------------------------
Ram              Maharaj
Sharath          Nivas
Nivas            Maharaj
Praveen          Sharath
Maharaj          Sharath

В таблице employee есть три столбца Employee_id, employee_name и manager_id. Из таблицы, как получить имя сотрудника и его имя менеджера?

Ответы [ 4 ]

0 голосов
/ 08 сентября 2018

Пожалуйста, попробуйте это

SELECT employee_name AS Employee_Name,(SELECT employee_name FROM   employee  where
employeeid=ManagerID ) AS Manager_Name  FROM   employee 
0 голосов
/ 08 сентября 2018

Надеюсь, таблица менеджера будет доступна в вашей БД

SELECT employee_name, M.manager_name
FROM   employee e
INNER JOIN tableManager M ON e.ManagerID = M.MangerID
0 голосов
/ 08 сентября 2018

Обязательная таблица: - Сотрудник.

Запрос: -

SELECT e.Employee Name,
       e.Employee Name as Manager Name
  FROM Employee e JOIN Employee m 
    ON e.Employee id = m.Manager id

Объяснение: -

Если задать это условие «Сотрудник e ПРИСОЕДИНЯЙТЕСЬ к Сотруднику m», он будет автоматически рассматривать одну таблицу как две разные таблицы как «e» и «m», а затем сравнивать идентификатор сотрудника из таблицы e с идентификатором менеджера таблицы m. всякий раз, когда обнаруживается совпадение, оба идентификатора совпадают, что будет добавлено к результату.

0 голосов
/ 08 сентября 2018

Вы можете самостоятельно присоединиться к столу, чтобы узнать имя менеджера по его ID:

SELECT e.employee_name, m.employee_name AS manager_name
FROM   employee e
JOIN   employee m on e.manager_id = m.employee_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...