MySQL Query - 来自同一个相关表的多个字段的内部联接

时间:2015-03-14 20:42:07

标签: php mysql inner-join alias

我有两张桌子。表'商店'有关于商店及其主要和助理收银员的信息。 LeadCashier和AssistantCashier从同一个Employees表中选择。

表商店:

StoreID | StoreName | LeadCashierID | AssistantCashierID |

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

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

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

表员工:

EmployeeID | EmployeeName

1 ................... |约翰........

2 ................... |保罗........

3 ................... |史蒂夫.......

我需要设置一个查询,显示StoreID,LeadCashier的名称,AssistantCashier的名称。我假设我会构建类似于此的查询,但是我无法弄清楚如何在单个查询中回显LeadCashier的名称和AssistantCasheir的名称。

SELECT StoreID,StoreName,EmployeeName FROM Stores 在Employees.EmployeeID = Stores.LeadCashierID上加入员工 在Employees.EmployeeID = Stores.AssistentCashierID

上加入员工

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

您只需要表别名:

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;

提示:对表别名使用表缩写。它们使查询更容易理解。