我有一个包含两个表的数据库:
这是该数据库的示例。
使用 MYSQL,我想执行一个 SELECT 查询,该查询能够显示每个轮班涉及的两名员工的姓名。
下图显示了使用前面的数据库示例所需的查询结果:
可以按如下方式完成:
SELECT
t.ID AS turnShiftID,
t.date AS turnShiftDate,
e1.name AS employee1Name,
e2.name AS employee2Name
FROM
turnShift t
INNER JOIN employees e1 ON t.ID_employee1 = e1.ID
INNER JOIN employees e2 ON t.ID_employee2 = e2.ID;
我会查询
turn_shift
表并加入 employee
表两次,对于要转换为名称的每一列 ID 一次:
SELECT t.id, t.date, e1.name AS name_employee1, e2.name AS name_employee2
FROM turn_shift t
JOIN employee e1 ON t.id_employee1 = e1.id
JOIN employee e2 ON t_id_employee2 = e2.id