我有这张桌子:
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));
现在我想得到所有工人的名字(ename),工作(工作)和经理姓名(mgr)。
我考虑过在同一张桌子上加入这个:
SELECT ename, job, empno
FROM emp
INNER JOIN emp AS emp1
ON (emp.mgr = emp1.empno);
但我总是得到错误:“缺少关键字”
答案 0 :(得分:3)
我认为您必须从内部联接语句中删除AS
:
SELECT emp.ename, emp.job, emp.empno
FROM emp
INNER JOIN emp emp1
ON (emp.mgr = emp1.empno);
您必须在每个列名称之前添加别名。
答案 1 :(得分:1)
SELECT E2.ename, E2.job, E2.empno, E1.ename as 'manager_name'
FROM emp as E1
INNER JOIN emp AS E2
ON E1.mgr = E2.empno;
答案 2 :(得分:1)
试试这个:
SELECT e.ename, e.job, e.empno
FROM emp e
INNER JOIN emp e1
ON (e.mgr = e1.empno);