2015-10-03 2 views
0

Я новичок в SQLite. Я хочу показать имя каждого сотрудника и имя его/ее менеджера. Но я немного запутался в том, как связать идентификатор менеджера с EmployeeID? Нужно ли использовать подзапрос?SQlite Как отображать имена сотрудников и менеджеров в этой таблице?

table: Employee 
Columns: EmployeeID [pk], EmployeeName, ManagerID 

Как:

EmployeeID EmployeeName ManagerID 
    1    Alice   2 
    2    Peter   null 
    3    John   2 
    4    Mary   1 

означает Питер менеджер Элис и Джон и Элис менеджер Мэри.

SELECT EmployeeName AS Employee, EmployeeName AS Manager 
FROM Employee 
WHERE 
+0

Посмотрите на ПРИСОЕДИНИТЕЛИ. Много информации, чтобы получить общее представление о том, как они работают. – CBroe

ответ

1

Вам нужно присоединиться к таблице на себе с помощью LEFT OUTER join. Поскольку у босса не будет менеджера (null), используйте «ifnull»:

select A.EmployeeName as 'EmployeeName', 
    ifnull(B.EmployeeName, 'BOSS') as 'ManagerName' 
    from employee A left outer join employee B 
    on A.managerId = B.employeeId; 
Смежные вопросы