我有这张 table :

 CREATE TABLE EMP
    (EMPNO NUMBER(4) CONSTRAINT EMP_PRIMARY_KEY PRIMARY KEY ,
    ENAME varchar2(10),
    JOB varchar2(9),
    MGR NUMBER(4)CONSTRAINT EMP_SELF_KEY REFERENCES EMP (EMPNO),
    HIREDATE DATE,
    CONSTRAINT EMP_FOREIGN_KEY REFERENCES DEPT (DEPTNO));

现在我想获取所有 worker 的姓名 (ename)、工作 (job) 和经理 (mgr) 的姓名。

我想通过同一张 table 上的连接来做到这一点:
SELECT ename, job, empno
FROM emp
INNER JOIN emp AS emp1
ON (emp.mgr = emp1.empno);

但我总是收到错误:“缺少关键字”

最佳答案

我认为您必须从内部连接语句中删除 AS:

SELECT emp.ename, emp.job, emp.empno
FROM emp
INNER JOIN emp  emp1
ON (emp.mgr = emp1.empno);

并且您必须在每个列名之前添加别名。

关于SQL Join 两次同一个表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24691500/

10-09 08:18