mysql:子查询返回超过1行

时间:2017-09-26 19:05:23

标签: mysql sql database select subquery

我试图通过使用MySQL中的子查询来解决下面给出的这个问题,但找不到解决方案,因为它显示子查询返回多行。

问题陈述:显示emp名称及其工资及其经理和经理       薪水。
显示那些经理被雇用的员工。

select w.ename employee, w.SAL woSal, m.ename manager, m.SAL mSal
from emp w, emp m
where w.mgr = m.empno and
(SELECT E1.ENAME  
FROM EMP E1, EMP E2
WHERE E1.MGR=E2.EMPNO and ( E1.hiredate<E2.hiredate));

1 个答案:

答案 0 :(得分:2)

您不需要子查询 - 只需将hiredate上的条件添加到连接条件即可。另请注意,隐式连接(在from子句中使用多个表)被认为已弃用,您可能最好将其重写为显式连接:

SELECT w.ename employee, w.SAL woSal, m.ename manager, m.SAL mSal
FROM   emp w
JOIN   emp m
WHERE  w.mgr = m.empno and w.hiredate < m.hiredate