【发布时间】:2020-07-11 17:28:52
【问题描述】:
我有一个包含三个表的 SQL 数据库:部门、角色和员工。员工表有外键来引用部门和角色表中的主键,以及它自己表中的其他员工主键。我目前有两个单独的查询来访问我需要的信息,一个使用两个 INNER JOIN 来访问部门和角色表,一个使用 SELF JOIN。
SELECT employee.id
, employee.first_name
, employee.last_name
, role.title
, role.salary
, department.name AS Department
FROM employee
JOIN role
ON employee.role_id = role.id
JOIN department
ON role.department_id = department.id;
SELECT A.id
, A.first_name
, A.last_name
, CONCAT(B.first_name, ' ', B.last_name) As Manager
FROM employee A
, employee B
WHERE A.manager_id = B.id
ORDER
BY A.id;
我希望结果包括以下列:employee.id、employee.first_name、employee.last_name、role.title、role.salary、department.name AS Department 和 CONCAT(B.first_name, ' ', B .last_name) AS 经理。
有没有办法可以将这两个查询组合成一个查询? 谢谢!
【问题讨论】:
-
请提供样本数据和期望的结果。
-
您可以添加表的架构吗?