MySQL Query — внутреннее соединение нескольких полей из одной и той же таблицы

У меня есть две таблицы. Таблицы «Магазины», в которых есть информация о магазинах и их ведущих и вспомогательных кассирах. LeadCashier и AssistantCashier выбираются из одной таблицы «Сотрудники».

Столовые магазины:

StoreID | StoreName | LeadCashierID | AssistantCashierID |

001 ….. | Store1 ……… | 1 …………………. | 2 ……………………….. |

002 …… | Store2 …….. | 1 ………………… | 3 ……………………….. |

003 ….. | Store3 …….. | 2 ………………… | 3 …………………. ……. |

Стол сотрудников:

EmployeeID | Имя сотрудника

1 ………………. | Джон ……..

2 ………………. | Павел……..

3 ………………. | Стив…….

Мне нужно настроить запрос, который будет отображать StoreID, имя LeadCashier, имя AssistantCashier. Я предполагаю, что построю запрос, подобный этому, однако я не могу понять, как отобразить имя LeadCashier и имя AssistantCasheir в одном запросе.

ВЫБЕРИТЕ StoreID, StoreName, EmployeeName ОТ магазинов
ПРИСОЕДИНИТЬСЯ Employees ON Employees.EmployeeID = Stores.LeadCashierID
ПРИСОЕДИНИТЬСЯ Employees ON Employees.EmployeeID = Stores.AssistentCashierID

Любая помощь будет принята с благодарностью!

0

Решение

Вам просто нужны псевдонимы таблиц:

SELECT s.StoreID, s.StoreName, le.EmployeeName as LeadName,
ae.EmployeeName as AssistantName
FROM s.Stores JOIN
Employees le
ON le.EmployeeID = s.LeadCashierID JOIN
Employees ae
ON ae.EmployeeID = s.AssistentCashierID;

Совет. Используйте псевдонимы таблиц для псевдонимов таблиц. Они облегчают выполнение запроса.

1

Другие решения

Других решений пока нет …