【发布时间】:2021-12-30 02:56:03
【问题描述】:
我正在努力为这个表(办公室)应用一个简单的 JOIN 命令:
+-----------+-------+------+
| Employee | Name | Boss |
+-----------+-------+------+
| 1 | Joe | 2 |
| 2 | Chris | 3 |
| 3 | Rob | 2 |
| 4 | Dean | 1 |
+-----------+-------+------+
我看到了很多使用 2 个表的示例,我试图重现这些示例,这让我可以这样做:
SELECT office.Name
FROM office
INNER JOIN office
ON office.Employee = office.Boss;
我正在尝试将员工推荐给它的老板
但是这段代码给了我:不是唯一的表/别名:'office' 有什么简单的解决方案?甚至可能根本不使用 JOIN..
【问题讨论】:
-
您的样本数据中有 Chris 和 Rob 是彼此的老板 - 对吗?
-
另外,为什么表
office包含与人有关的信息? -
使用表别名!
-
“我正在尝试将员工推荐给它的老板” - 使用自我
JOIN仅适用于单个引用 btw - 如果你想找出某人的最高老板是谁,你会需要递归 CTE。