mysql - 自连接:表别名上的 SQL 解析错误

标签 mysql sql oracle11g self-join table-alias

使用简单的自连接来列出员工的经理:

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/

相关文章:

sql - 在数据库中创建表时向管理员发送邮件?

database - oracle中的sequence.nextval似乎增加了两次

oracle - 如何查找oracle包内的依赖关系?

mysql - 表数据的非线性三向求和

php - 将表单 ACTION 发送到另一个 php 页面,该页面将处理第一页的结果

MySQL:默认情况下主键是唯一的吗?

android - 什么时候查询在Android上返回Null?

php - 我应该使用哪个第三方搜索引擎(免费)?

Oracle 11g - AWR 报告分析帮助

php - JOIN 两个表(其中一个需要连接)