使用简单的自连接来列出员工的经理:
CREATE VIEW AS
SELECT e1.EMP_ID EmployeeId, e1.FNAME EmployeeName,
e1.MANAGER ManagerName
FROM EMPLOYEE e1
LEFT JOIN EMPLOYEE e2
ON e1.MANAGER = e2.EMP_ID
有问题的表是 EMPLOYEE,主键是 EMP_ID。
MySQL 和 Oracle 都返回代码错误;尽管我尝试了多种不同的变体,但主要的障碍是为相关表(e1 和 e2)使用别名,这两个 dbms 都不认为是合法的标识符。
最佳答案
您需要为您的 View 命名:
CREATE VIEW v_emp AS
SELECT e1.EMP_ID EmployeeId, e1.FNAME EmployeeName,
e1.MANAGER ManagerName
FROM EMPLOYEE e1
LEFT JOIN EMPLOYEE e2
ON e1.MANAGER = e2.EMP_ID
关于mysql - 自连接:表别名上的 SQL 解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15765181/