Соединение таблиц с использованием внешнего ключа - PullRequest
7 голосов
/ 12 марта 2012

У меня есть 2 таблицы, сотрудники и отделы.

отделов (идентификатор, отдел)

сотрудников (идентификатор, департамент_id, имя и еще несколько здесь)

таким образом, employee.department_id является внешним ключом для департаментов.ид.

Мне нужно показать таблицу сотрудников, но вместо отдел_ид (с указанием идентификаторов отделов) мне нужно показать фактическое название отделов, поэтому вместо Department_id, мне нужно разместить отделы. отдел.

Как мне это сделать?

Ответы [ 5 ]

16 голосов
/ 12 марта 2012

Твой друг сказал тебе правду: p

Вам просто нужно использовать внутреннее соединение между вашими двумя таблицами, например:

SELECT d.name, e.name, e.email, ... FROM deparments d INNER JOIN employees e ON d.id = e.department_id.

Вы должны адаптировать свое поле, чтобы получить желаемый результат:)

7 голосов
/ 12 марта 2012
SELECT employees.id, employees.department_id, employees.name, departments.department
FROM employees
INNER JOIN departments ON employees.department_id = departments.id
1 голос
/ 12 марта 2012

Вы не должны использовать SELECT * и просто взять те поля, которые вам действительно нужны, если это всего лишь скриншот значений таблицы.

Нравится SELECT department.name

0 голосов
/ 12 марта 2012
SELECT employees.*, department.department
FROM employees
INNER JOIN department ON employees.department_id = department.id
0 голосов
/ 12 марта 2012

Это должно покрыть это для вас:

SELECT
    E.Id
    , D.Department
    , E.Name
    -- More stuff
FROM Employees E
INNER JOIN Departments D
    ON D.id = E.department_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...