У меня проблемы с выполнением упражнения в MYSQL.

Есть две таблицы:

Таблица Employees:

ID    Name         InstitutionID

1     Tom          1
2     Bert         1
3     Steve        2
4     Marcus       3
5     Justin       1

Таблица Institutions:

InsID    InstitutionName      Location

1         Storage               London
2         Storage               Berlin
3         Research              London
4         Distribution          Stockholm

Теперь задача состоит в том, чтобы создать запрос, который выводит таблицу с двумя столбцами:

 Employees.Name         Institutions.InstiutionName

С заявлением, что учреждение находится в Лондоне, это означает, что идентификатор учреждения из таблицы Employees совпадает с InsID из таблицы Institutions.

Результат должен быть таким:

Name          InstituionName

Tom           Storage
Bert          Storage
Marcus        Research
Justin        Storage

Получить имена без InstitutionName просто:

select Employees.Name from Employees
where InstitutionID in (select InsID from Institutions where Location = 'London')

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

Пожалуйста, помогите мне :)

0
Samy Dressel 29 Фев 2016 в 16:12

2 ответа

Лучший ответ

Итак, вам нужен простой запрос на соединение:

SELECT t.name,s.InstitutionName      
FROM Employees t
INNER JOIN Institutions s
ON(t.InstitutionID = s.insID
   AND s.Location = 'London')
2
user5992977user5992977 29 Фев 2016 в 13:16
select e.Name, i.InstitutionName from Employees e
join Institutions i
on e.InstitutionID = i.insID
where InstitutionID in (select InsID from Institutions where Location = 'London')
1
Chendur 29 Фев 2016 в 13:17