我的sql工作台中有几行代码,但我收到了错误:错误代码:1242。子查询返回多行。

 SELECT Fname, Lname, Dnum, Pno
 FROM EMPLOYEE e, PROJECT p, WORKS_ON w
 WHERE p.Dnum = (SELECT Dno FROM EMPLOYEE WHERE e.Ssn = w.Essn AND w.Pno = p.Pnumber)

我正试图显示一个表,其中列出了正在处理一个不是由他们部门赞助的项目的员工。

最佳答案

试试这个

SELECT Fname, Lname, Dnum, Pno
FROM EMPLOYEE e, PROJECT p, WORKS_ON w
WHERE p.Dnum in (SELECT Dno FROM EMPLOYEE WHERE e.Ssn = w.Essn AND w.Pno =
p.Pnumber);

使用in子句instad=

关于mysql - 如何清除错误代码1242,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42478105/

10-11 04:20