我正在尝试从depts表中选择deptno,dname并将其与emp表连接以选择empno和ename。然后我想通过deptno升序按部门名称对它们进行分组 当加入这两个表时,我不断得到'deptno'是模棱两可的。但这是加入表格的共性。任何有用的建议,我的错误可能与
SELECT deptno, dname, empno, ename
FROM dept INNER JOIN emp
ON dept.deptno = emp.deptno
GROUP BY dname
ORDER BY deptno ASC;
感谢您提供任何有用的建议。
答案 0 :(得分:5)
歧义来自deptno
字段,该字段存在于dept
和emp
表中。为避免使用限定名称或别名。
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;
答案 1 :(得分:2)
SELECT dept.deptno, dname, empno, ename FROM dept INNER JOIN emp ON dept.deptno = emp.deptno
GROUP BY dname ORDER BY dept.deptno ASC;
答案 2 :(得分:2)
问题是您在两个表中都有deptno
,但您没有在SELECT
和ORDER BY
中指定要返回的表:
SELECT dept.deptno, dname, empno, ename
FROM dept
INNER JOIN emp
ON dept.deptno = emp.deptno
GROUP BY dname
ORDER BY dept.deptno ASC;
或
SELECT emp.deptno, dname, empno, ename
FROM dept
INNER JOIN emp
ON dept.deptno = emp.deptno
GROUP BY dname
ORDER BY emp.deptno ASC;
如果您没有为deptno
指定表格,那么您将收到此错误消息。
答案 3 :(得分:1)
试试这个
SELECT dept.deptno, dname, empno, ename
FROM dept INNER JOIN emp
ON dept.deptno = emp.deptno
GROUP BY dname
ORDER BY dept.deptno ASC;