Member 10871138 Ответов: 1

Получить данные из текущей таблицы с идентификатором отношения


hi guys

I'm confused.

How can I get manager list?! 

Why can not I get an answer?

EmployeeID   name   manager
   1         john    NULL
   2         sara     1
   3         philip   1
   4         tomas    3
   5         celena   2


Что я уже пробовал:

SELECT Name FROM Employee WHERE EmployeeID = manager

1 Ответов

Рейтинг:
12

OriginalGriff

Если вам нужен список имен менеджеров, то это не так уж сложно:
Сначала напишите запрос SELECT, чтобы вернуть только идентификаторы менеджеров:

SELECT DISTINCT Manager FROM Employee WHERE Manager IS NOT NULL
Это возвращается:
Manager
1
2
3
Затем используйте это, чтобы присоединиться к исходной таблице:
SELECT a.[Name] FROM Employee a
JOIN (SELECT DISTINCT Manager FROM Employee WHERE Manager IS NOT NULL) b
ON a.EmployeeID = b.Manager
Это дает вам список имен менеджеров:
Name
john      
sara      
philip
Если вы хотите, чтобы сотрудник и его менеджер были очень похожи:
SELECT a.[Name] AS [Manager name], b.Name AS [Supervised] FROM Employee a
JOIN (SELECT DISTINCT Manager, Name FROM Employee WHERE Manager IS NOT NULL) b
ON a.EmployeeID = b.Manager
Что даст вам:
Manager name	Supervised
John      	philip    
John      	sara      
sara      	celena    
philip    	tomas