mysql - 使用 INNER JOIN 时出现不明确的错误

标签 mysql sql oracle oracle11g

我正在尝试从 depts 表中选择 deptno、dname 并将其与 emp 表连接以选择 empno 和 ename。然后我想按部门名称对它们进行分组,按部门编号升序排序。
加入这两个表时,我一直觉得“deptno”不明确。但这是连接表的共性。任何有用的建议,我的错误可能与

SELECT deptno, dname, empno, ename
FROM dept INNER JOIN emp
ON dept.deptno = emp.deptno
GROUP BY dname
ORDER BY deptno ASC; 

感谢您提供任何有用的建议。

最佳答案

歧义来自 deptno 字段,它同时存在于 deptemp 表中。为避免它使用限定名称或别名。

SELECT D.deptno, dname, empno, ename
FROM dept D
    INNER JOIN emp E
        ON D.deptno = E.deptno
GROUP BY dname
ORDER BY D.deptno ASC; 

关于mysql - 使用 INNER JOIN 时出现不明确的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14677421/

相关文章:

mysql - 在主键上创建和索引有什么好处吗?

MySQL 仅更新 WHERE max()

java - 使用未知数量的 AND 进行 SQL 查询

C#,我可以在读取 SQL Server 表时插入和删除它吗

c# - 我在尝试使用这个 oracle 包/过程时做错了什么?

mysql - 如何使用mysql找到匹配单词后半部分的部分字符串?

mysql - 对数字范围列进行排序

sql - 在一个查询中查询许多类型为 "hasMany"的关系 - 返回了很多行

java - ResultSet 的 Oracle JDBC 性能

c# - System.Data.OracleClient 是否支持 oracle 11g?