Получение данных столбца из соответствующего столбца в SQL - PullRequest
1 голос
/ 10 октября 2011

Итак, у меня есть таблица с номером сотрудника, именем сотрудника, номером руководителя.

Я хочу выполнить запрос, который будет извлекать имя сотрудника, номер сотрудника, имя руководителя и номер руководителя.Только один сотрудник не имеет руководителя, что означает, что он должен будет отображать нули.Как бы я это сделал?Я использую Oracle SQL Plus.Мои попытки не сработали!Любая помощь будет принята с благодарностью.

SELECT ename Employee, empno Emp#, super Manager#
FROM emp;

Это дает мне три столбца, но, честно говоря, я даже не знаю, с чего начать, чтобы получить имена руководителей.

Это для университета, но я готовлюсь к экзамену, а не к заданию, поэтому здесь нет обмана :).

Ответы [ 2 ]

1 голос
/ 10 октября 2011

Следующее должно работать и давать вам нули, если у сотрудника нет руководителя:

SELECT empGrunt.ename Employee
     , empGrunt.empno EmpNum
     , empSuper.ename SupervisorName
     , empSuper.empno SupervisorName
FROM   emp empGrunt LEFT OUTER JOIN emp empSuper 
       ON empGrunt.super = empSuper.empno
1 голос
/ 10 октября 2011

Если предположить, что SupervisorNumber - это отношение внешнего ключа к таблице Employee (где это EmployeeNumber записи супервизора), то вам необходимо использовать внешнее соединение.

В этом случае вам понадобится left соединение:

select
    e.EmployeeName,
    e.EmployeeNumber,
    s.EmployeeName as SupervisorName

from Employee e

left join Employee s on s.EmployeeNumber = e.SupervisorNumber
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...