Запрос MySQL выбирает имя из внешнего ключа, который из той же таблицы

#mysql

#mysql

Вопрос:

Итак, у меня есть таблица с именем employee, которая содержит внешний ключ из той же таблицы Employee
сотрудник

Я хочу выбрать employee.name и reportsTo's.name , вопрос,

как я получаю имя ReportsTo, если внешний ключ из той же таблицы?

Ответ №1:

Вам нужно 2 копии таблицы:

 SELECT t1.firstName, t1.lastName, t2.firstName, t2.lastName
FROM employee t1
LEFT JOIN employee t2 ON t1.reportsTo = t2.employeeNumber
  

Ответ №2:

Возможно, вам нужно использовать INEER JOIN для отображения общих значений каждой таблицы.

Ключевое слово SQL INNER JOIN

INNER JOIN Ключевое слово выбирает записи, которые имеют совпадающие значения в обеих таблицах1.

СХЕМА ВНУТРЕННЕГО СОЕДИНЕНИЯ
внутреннее соединение

Синтаксис

 SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
  

Код

 SELECT employees.firstName, employees.lastName, reportsTo.firstName, reportsTo.lastName 
FROM employees 
INNER JOIN reportsTo
ON employees.employeeNumber = reportsTo.employeeNumber 
ORDER BY (employees.firstname, employees.lastname);