Объединение данных из 2 таблиц - PullRequest
0 голосов
/ 05 октября 2011

Я работаю над примером базы данных adventureworks.

У меня есть таблица с сотрудниками, у которой у всех есть определенный менеджер. Таким образом, в таблице сотрудников есть столбец ManagerID.

Также в таблице employee есть ContactID, в котором содержится имя этого сотрудника.

Я хотел бы иметь список со всеми менеджерами и их именами. Как я могу это осуществить?

Таблица выглядит примерно так

EmployeeID  ContactID  ManagerID
----------  ---------  ---------
    1           21         4
    2           24         4
    3           32         7
    4           34         2
    5           35         2
    6           42         7
    7           44         4

Так что мне понадобится список DISTINCT для managerID, а затем поищите для каждого managerID их соответствующий ContactID.

Итак: Менеджер сотрудника 1 - Сотрудник 4 с ContactID 34. Менеджер сотрудника 3 - Сотрудник 7 с ContactID 44. Менеджер сотрудника 4 - Сотрудник 2 с ContactID 24.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 05 октября 2011

Вы можете сделать это, присоединив таблицу myTable к себе, сопоставив идентификаторы manager_id с идентификатором employee_id

select 
    t.employeeid as employee_id, 
    t.manager_id as manager_id, 
    t2.contact_id as manager_contact_id 
from mytable t left outer join mytable t2 on t.managerid = t2.employeeid
0 голосов
/ 05 октября 2011
SELECT ManagerID, EmployeeID, ConactID
FROM ´yourtable´
GROUP BY ManagerID

Там вы получаете сгруппированные данные.Если вы хотите, чтобы в списке также были менеджеры, вам нужно снова присоединиться к данным (самостоятельное соединение)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...